我想知道是否有一种更优雅的方式来使用Spring的JDBCTemplate进行IN()查询.目前我做的是这样的:
StringBuilder jobTypeInClauseBuilder = new StringBuilder();
for(int i = 0; i < jobTypes.length; i++) {
Type jobType = jobTypes[i];
if(i != 0) {
jobTypeInClauseBuilder.append(',');
}
jobTypeInClauseBuilder.append(jobType.convert());
}
Run Code Online (Sandbox Code Playgroud)
这是非常痛苦的,因为如果我有九行只是为IN()查询构建子句.我想要像准备语句的参数替换
我可以这样做:
select * from mytable m where m.group_id in (?)
Run Code Online (Sandbox Code Playgroud)
...并传入要扩展到我的参数的列表或参数数组,即:
select * from mytable m where m.group_id in (1,2,3,4)
Run Code Online (Sandbox Code Playgroud)
具体来说,我使用的是Spring和JdbcTemplate/SimpleJdbcTemplate类.