我想更新一列表的批量记录。我如何使用NamedParameterJdbcTemplate来实现这一点
List<Long> ids = new ArrayList();
ids.add(1);
ids.add(2);
String updateQuery = "update product set status = 'P' where id = ?";
SqlParameterSource batch = SqlParameterSourceUtils.createBatch(ids.toArray());
namedParameterJDBCTemplate.batchUpdate(updateQuery, batch)
字符串
然而,上述方法并不奏效。请指教
1条答案
按热度按时间vhipe2zx1#
您正在使用
NamedParameterJdbcTemplate
,但没有在查询中使用名称。你应该有这样的东西。字符串
或者不使用
NamedParameterJdbcTemplate
,而使用常规的JdbcTemplate
。型
或者,如果ID列表不是太大,使用带有
IN
子句的NamedParameterJdbcTemplate
,而不是批量更新。型