在使用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>
以上,排除特殊符號的模糊查詢完成。