如何使用 JdbcTemplate 删除多行
How to delete multiple rows with JdbcTemplate
想在 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>
根据需要使用适当的数据类型。
想在 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>
根据需要使用适当的数据类型。