我正在尝试使用列表匹配的JdbcTemplate
查询:
List foos = jdbcTemplate.query("select * from foo where name IN (?)",
new Object[] { Arrays.asList("foo1", "foo2", "foo3")},
new FooMapper()
);
结果:即使
name
列等于字符串foo1
,数据库列也不匹配。为什么?如果可能,使用
JdbcTemplate
不带命名参数的情况。 最佳答案
Set<String> names = ...;
MapSqlParameterSource fooParams = new MapSqlParameterSource();
fooParams.addValue("names", names);
List<Foo> foo = getJdbcTemplate().query("SELECT * FROM foo WHERE name IN (:names)",
fooParams, getRowMapper());
关于java - 如何在JdbcTemplate中的List中使用IN()子句?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57204229/