如何使用JdbcTemplate删除多行

时间:2016-05-31 07:01:18

标签: java spring spring-jdbc

希望在EC.event_time > E.event_time AND EC.event_time < E.event_time + INTERVAL 1 DAY 的帮助下删除多行。 在下面的代码中,JdbcTemplate是一个String变量,包含逗号分隔值,如26,27。执行语句后,它只删除一条记录。

msgNos

1 个答案:

答案 0 :(得分:6)

而不是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>使用适当的数据类型。