mybatis like %% 模糊查询防sql 注入
来源:互联网 发布:徕卡全站仪传输软件 编辑:程序博客网 时间:2024/05/28 22:10
所以解决的思路是:sql中应该跟正常的替换方式相同,ibatis并没有提供特殊写法,应该在传入的参数上下功夫。
也就意味着需要自己来做转译。
SQL文:
select * from A where A.name like #{key}
java端对Key值进行转译:
public static String transfer(String keyword) {
if(keyword.contains("%") || keyword.contains("_")){
keyword = keyword.replaceAll("\\\\", "\\\\\\\\")
.replaceAll("\\%", "\\\\%")
.replaceAll("\\_", "\\\\_");
}
return keyword;
}
然后再转译后的key上,按照逻辑添加“%”或者“_”,再设置到statement中即可。
例如:前方一致检索
key = transfer(key) + "%";
注意:上面的转译方法适用于jdk1.6,之前的可能需要将第一个.replaceAll("\\\\", "\\\\\\\\")
改成:.replaceAll("\\", "\\\\") 即可。
也就意味着需要自己来做转译。
SQL文:
select * from A where A.name like #{key}
java端对Key值进行转译:
public static String transfer(String keyword) {
if(keyword.contains("%") || keyword.contains("_")){
keyword = keyword.replaceAll("\\\\", "\\\\\\\\")
.replaceAll("\\%", "\\\\%")
.replaceAll("\\_", "\\\\_");
}
return keyword;
}
然后再转译后的key上,按照逻辑添加“%”或者“_”,再设置到statement中即可。
例如:前方一致检索
key = transfer(key) + "%";
注意:上面的转译方法适用于jdk1.6,之前的可能需要将第一个.replaceAll("\\\\", "\\\\\\\\")
改成:.replaceAll("\\", "\\\\") 即可。
- mybatis like %% 模糊查询防sql 注入
- hibernate 防sql注入模糊查询(like).
- ibatis like查询防sql注入
- yii2模糊查询并且防SQL注入
- yii2模糊查询并且防SQL注入
- 模糊查询防注入
- Mybatis LIKE 模糊查询
- MyBatis 模糊查询 like %
- mybatis模糊查询如何防止sql注入
- MyBatis 模糊查询 防止Sql注入
- SQL like 模糊查询
- SQL like 模糊查询
- SQL like 模糊查询
- SQL like 模糊查询
- SQL like模糊查询
- SQL like 模糊查询
- SQL like 模糊查询
- SQL like 模糊查询
- mssql存储过程样例--判断是否存在
- VC操作Excel文件编程相关内容总结
- 一次 WebResource.axd 异常处理经历
- hdu3496
- iPhone UIAlertView属性及使用方法
- mybatis like %% 模糊查询防sql 注入
- linux-boot-arch_x86_kernel_head_32.S
- IE浏览器下ajax重复提交的问题处理
- C# 在一个字符串中,找出出现次数最多的字母,并计算次数?
- Fedora install tomcat6
- javascript学习-2
- MSSQL数据库孤立用户解决过程一则
- HDU GCC(HDU 3123)解题报告
- 今天我进来了CSDN论坛了,开始了我的IT生活