下面方法说明,使用 NamedParameterJdbcTemplate 来进行操作,

    入参ids 是一个 “3,4,2” 的字符串

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