jdbcTemplate中占位符为in后的怎么写
在使用jdbcTemplate中的占位符进行in查询时,可以使用以下方式进行编写:
- 使用问号占位符:
String sql = "SELECT * FROM table_name WHERE column_name IN (?)";
List<Object> params = Arrays.asList("value1", "value2", "value3");
jdbcTemplate.query(sql, params.toArray(), new RowMapper<YourObject>() {
// ...
});
- 使用NamedParameterJdbcTemplate和命名参数占位符:
String sql = "SELECT * FROM table_name WHERE column_name IN (:values)";
Map<String, Object> params = new HashMap<>();
params.put("values", Arrays.asList("value1", "value2", "value3"));
namedParameterJdbcTemplate.query(sql, params, new RowMapper<YourObject>() {
// ...
});
注意:在使用问号占位符时,需要将参数值封装为List对象并使用toArray()方法转为数组传入;而使用命名参数占位符时,直接将参数值封装为List对象即可
原文地址: https://www.cveoy.top/t/topic/iUj6 著作权归作者所有。请勿转载和采集!