相关疑难解决方法(0)

如何有效地使用Spring的JDBCTemplate执行IN()SQL查询?

我想知道是否有一种更优雅的方式来使用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()查询构建子句.我想要像准备语句的参数替换

java sql spring jdbc jdbctemplate

172
推荐指数
3
解决办法
17万
查看次数

我可以请求JDBCTemplate扩展list参数以用于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类.

java spring jdbc spring-jdbc

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×2

jdbc ×2

spring ×2

jdbctemplate ×1

spring-jdbc ×1

sql ×1