下面方法说明,使用 NamedParameterJdbcTemplate 来进行操作,
入参ids 是一个 “3,4,2” 的字符串
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public int updateSolveByIds(String ids) {
System.out.println("ids = " + ids); // ids = 3,4,2
//字符串根据逗号切割成数组
String[] split = ids.split(",");
//将数组转成集合
List<String> idsList = Arrays.asList(split);
Map<String, Object> params = new HashMap<String, Object>();
params.put("ids", idsList); //放入Map里面,
// 实例化一个NamedParameterJdbcTemplate 对象,通过构造传参给jdbcTemplate 传进来
NamedParameterJdbcTemplate nameJdbc = new NamedParameterJdbcTemplate(jdbcTemplate);
// 注意sql,用 冒号ids 代表从params里面取参数
String sql = "UPDATE oms_order_mq_retry_upper_limit_log SET is_solve = 1 WHERE id In (:ids) AND is_del = 0";
//执行NamedParameterJdbcTemplate 的update方法
return nameJdbc.update(sql, params);
}