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>

 

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

 

posted @ 2020-09-02 07:24  全栈九九六  阅读(2930)  评论(0编辑  收藏  举报