Sql 使用弹簧刀';s NamedParameterJDBCTemplate,如何为语句中的多列编码?

Sql 使用弹簧刀';s NamedParameterJDBCTemplate,如何为语句中的多列编码?,sql,spring,jdbctemplate,multiple-columns,Sql,Spring,Jdbctemplate,Multiple Columns,如何使用NamedParameterJDBTemplate检索下面这样的sql查询 SELECT * FROM TABLE_1 WHERE (COLUMN_1, COLUMN2) IN ((Val1, val2), (Val3, Val4)); 语句中的单列易于在Spring DAO中编码;但无法找到中多列的解决方案。通过这种方式添加参数,您可以在中的中添加多个值: NamedParameterJdbcTemplate namedParameterJdbcTemplate =

如何使用
NamedParameterJDBTemplate
检索下面这样的sql查询

SELECT * FROM TABLE_1 
WHERE
    (COLUMN_1, COLUMN2) IN
    ((Val1, val2), (Val3, Val4));

语句中的单列易于在Spring DAO中编码;但无法找到中多列的解决方案。

通过这种方式添加参数,您可以在中的
中添加多个值:

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());
也看看这个