62,614
社区成员
发帖
与我相关
我的任务
分享
String[] ids = {"1","2","3","4","5"}; // 参数传进来的.
List<String> lists = Arrays.asList(ids);
//下面这行给占位符没效果.
jdbcTemplate.update("update sysuser set state='5' where id in (?,?,?,?,?)",lists); // asList会直接把12345设置成List的第一个元素
void test() {
List<String> ids = ["1", "2", "3", "4", "5"]
MapSqlParameterSource parameters = new MapSqlParameterSource("ids", ids);
NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate);
namedParameterJdbcTemplate.update("UPDATE user SET create_date=create_date WHERE id IN (:ids)", parameters)
}
jdbcTemplate.update("update sysuser set state='5' where id=? or id=? or id=? or id=? or id=?","1","2","3","4","5");
上面假设你的ID是数字类型
原文:
update(String sql, Object... args)
Issue a single SQL update operation (such as an insert, update or delete statement) via a prepared statement, binding the given arguments.
参考:http://www.coderhelper.top/doc/spring4.3.3-docs/javadoc-api/org/springframework/jdbc/core/JdbcTemplate.html