select里面的in变量是不能传值的,我是用JDBC Template连接数据库的。
请求示例:
public List<Clnt> getClnt(String codeStr , String clnt){
List<Cities> clntList;
String SQL = "select * from clnt where CODE in (:codeStr ) and CLNT_ID in (:clnt)"
try {
citiesList = jdbcTemplate.query(SQL,
new Object[]{codeStr,clnt},
new BeanPropertyRowMapper<>(Clnt.class));
} catch (Exception err) {
logger.error(err);
}
return clntList ;
}
如果一个参数codeStr=123asd和clnt=123被传递给变量,请求被处理,但是如果多个值codeStr=123asd,456fgh和clnt=123,321被传递给请求,或者一个参数被传递给某个变量并且2 给另一个,则请求不处理。
用例
NamedParameterJdbcTemplate
需要将具有值的字符串转换"v1, v2, vN"
为列表[v1, v2, vN]
并创建参数映射MapSqlParameterSource
作为实现SqlParameterSource
: