这是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);
答案 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());