开发者社区 问答 正文

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 2463 分享 版权
1 条回答
写回答
取消 提交回答