想借助JdbcTemplate
删除多行。
在下面的代码中,msgNos
是一个包含逗号分隔值的字符串变量,例如 26,27。执行语句后,它只删除了一条记录。
String sqlQuery = " delete from canned_message where msg_no in (?)";
Object[] params = {msgNos};
int rows = smsdbJdbcTemplate.update(sqlQuery, params);
最佳答案
而不是 org.springframework.jdbc.core.JdbcTemplate
使用 org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate
您可以在其中使用命名参数。
然后在您的查询中您可以传递 List
作为in子句中的参数值
String sqlQuery = "delete from canned_message where msg_no in (:msgNos)";
List<Integer> params = <array list of number>;
Map namedParameters = Collections.singletonMap("msgNos", params);
int rows = smsdbJdbcTemplate.update(sqlQuery, namedParameters);
注意:我用过List<Integer>
根据需要使用适当的数据类型。
关于java - 如何使用 JdbcTemplate 删除多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37538913/