开发者社区> 问答> 正文

Spring jdbc批量删除怎么防止注入

public boolean del(String ids) throws SQLException{
Map paramMap=new HashMap();
String sql="DELETE FROM Position WHERE id in(:id)";
paramMap.put("id", ids);
return baseDao.update(sql, paramMap);
}
如上面代码,当传过来ids= "1,2,3,4"删除字符串拼接成的id时,NamedParameterJdbcTemplate会自动加上单引号变成

DELETE FROM Position WHERE id in('1,2,3,4')
当执行是mysql数据库默认删除id为1的数据,拼接的话不能有效防止注入,求解决办法

展开
收起
a123456678 2016-03-18 14:13:22 2300 0
1 条回答
写回答
取消 提交回答
  • screenshot

    2019-07-17 19:06:34
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多