概述
在使用mybatis的模糊查询时,有两个特殊符号需要注意:
%(百分号):相当于任意多个字符;
_(下划线):相当于任意的单个字符;
处理方法:
1:(查询条件参数,比如"xx%_x")param.replaceAll("%", “/%”).replaceAll("-", “/-”)
2:select * from table where column like concat(’%’,#{param},’%’) escape ‘/’;
处理之后百分号%、下划线_在mybatis执行该拼接的sql语句的时候就不会被转义处理了
escape ‘/’ 指用’/'说明后面的%或_就不作为通配符而是普通字符了,注意前面没有转义字符的%仍然起通配符作用
like concat(’%’,#{param},’%’) 、like ‘%${param}%’ 、 like ‘%’||#{param}||’%'是一个意思;
https://blog.csdn.net/qq_21223653/article/details/107786374?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link
public class EscapeUtil {
/**
* mysql的模糊查询时特殊字符转义(条件查询%或者_查询所有问题)
*/
public static String escapeChar(String string){
if(StringUtils.isNotBlank(string)){
string = string.replaceAll("_", "/_");
string = string.replaceAll("%", "/%");
}
return string.trim() ;
}
}
最后
以上就是甜美果汁为你收集整理的mysql中模糊查询,在页面中输入%查询全部的问题处理的全部内容,希望文章能够帮你解决mysql中模糊查询,在页面中输入%查询全部的问题处理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复