mybatis模糊查询去除特殊符号%(百分号)和_(下划线)

在使用mybatis的模糊查询时,有俩个特殊符号需要注意:

%:相当于任意多个字符;

_:相当于任意的单个字符;

 

第一步: 根据需求可以选择甄别,如果有要求排除特殊符号,那么写法如下:

在控制层接收到对应值得地方,加入replaceAll():

if(param != null){
            map.put("param", param.replaceAll("%", "/%").replaceAll("_", "/_"));
        }

 

第二步: 这里给特殊符号进行替换;然后其他地方不做处理,直到mapper。xml的sql语句这里:

在对应的字段后面加入  ESCAPE '/'

<if test="param != null and param!= ''">
              AND sp.param like '%'||#{param}||'%' ESCAPE '/'
</if>

 

以上,排除特殊符号的模糊查询完成。

 

上一篇:Java中String的替换函数replace()、replaceAll()、replaceFirst()的区别 && 1678. 设计 Goal 解析器


下一篇:jfinal对xss漏洞的处理