如何做IN()和WHERE =?使用Spring的JDBCTemplate进行SQL查询

时间:2015-01-21 19:00:27

标签: java sql spring jdbc jdbctemplate

这是How to execute IN() SQL queries with Spring's JDBCTemplate effectivly?

的扩展

我希望将查询修改为:

"SELECT * FROM foo WHERE name=? and value IN (:ids)"

如何修改给定代码以支持name =?参数

Set<Integer> ids = ...;

MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("ids", ids);

List<Foo> foo = getJdbcTemplate().query("SELECT * FROM foo WHERE a IN (:ids)",
     getRowMapper(), parameters);

1 个答案:

答案 0 :(得分:0)

我使用这两条评论都很成功。

我会在以后发布以下代码:

String sql = "SELECT * FROM foo WHERE name=:name and value IN (:ids)";

Set<Integer> ids = ...;
String name = "John";

MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("ids", ids);
parameters.addValue("name",name);

List<Foo> foo = getNamedParameterJdbcTemplate().query(sql, parameters, getRowMapper());
相关问题