是否可以通过Jdbc模板在SQL查询中生成任意"in()"列表:
例:
"select*from t where c in(#)",但是'#'可以是仅在运行时已知的任意值列表.
axt*_*avt 37
是的,如果您使用NamedParameterJdbcTemplate或SimpleJdbcTemplate使用命名参数,则可以在Spring中使用.List参数可以设置为java.util.List:
List<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
List<SomeObject> result = simpleJdbcTemplate.query("SELECT * FROM t WHERE c in (:list)",
new RowMapper<SomeObject>() { ... },
Collections.singletonMap("list", list));
Run Code Online (Sandbox Code Playgroud)
在这种情况下,当使用?s 替换命名参数时,Spring会根据实际列表的大小在内部创建具有所需占位符数的SQL查询.
| 归档时间: |
|
| 查看次数: |
19920 次 |
| 最近记录: |