如何使用NamedParameterJDBTemplate
来检索如下所示的SQL查询?
SELECT * FROM TABLE_1
WHERE
(COLUMN_1, COLUMN2) IN
((Val1, val2), (Val3, Val4));
单列IN语句很容易在Spring DAO中编码;但是无法找到多列IN的解决方案。
答案 0 :(得分:2)
通过这种方式添加参数,您可以在IN
中添加多个值:
NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate);
MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("column1", Arrays.asList("Val1", "val2"));
parameters.addValue("column2", Arrays.asList("Val3", "Val4"));
namedParameterJdbcTemplate.query("select * from TABLE_1 where (COLUMN_1, COLUMN2) in (:column1,:column2)",parameters,new Mapper());
请看这个tuts。