Spring是否有任何允许批量选择的功能?我基本上有n个选择要执行,具体取决于列表中的记录数。目前因为列表的大小总是在变化,我必须动态构建将要执行的SQL。最终产品看起来像这样
select * from record_details t WHERE id IN ((?),(?),(?))
然而,动态生成此SQL的代码很混乱,我想知道是否有更好的方法来处理这类问题?
答案 0 :(得分:2)
NamedParameterJdbcTemplate
(根据支持类)确实有这种支持。
public void someRepoMethod(List ids) {
String query = "select * from record_details where id in (:ids)";
getNamedParameterJdbcTemplate().query(query, Collections.singletonMap("ids", ids), new YourRowMapper());
}
答案 1 :(得分:0)
如果您不想自己生成SQL,则必须使用一些现有框架。据我所知myBatis,它比hibernate更轻量级,所以它可以更适合你,但可能还有其他更合适的。