解决Mybatis模糊查询时%(百分号)和_(下划线)可以查到数据的问题
程序员文章站
2022-06-01 09:11:34
...
在网上试了很多方法,找了很多博主的文章可惜都没有用,然后偶然看到一篇文章
,试了下,效果杠杠的。特此记录,方便以后使用。
首先展示项目路径
在common下新建一个util文件夹(其实放哪里无所谓)如下:
2.编写EscapUtil.java
import org.apache.commons.lang.StringUtils;
/**
* @ClassName EscapeUtil
* @Author {hjy}
* @Date 2020/6/22 9:05
* @Description:
* @Verson 1.0
**/
public class EscapeUtil {
/**
* mysql的模糊查询时特殊字符转义
*/
public static String escapeChar(String before){
if(StringUtils.isNotBlank(before)){
before = before.replaceAll("_", "/_");
before = before.replaceAll("%", "/%");
}
return before.trim() ;
}
}
3. 工具类的使用分两步:
## 3.1 将实体类中原set方法中的语句替换为下面的语句:
this.eventSectionName = StringUtils.isBlank(eventSectionName) ? null : EscapeUtil.escapeChar(eventSectionName);
示例图:
## 3.2 在sql.xml内对应的模糊查询内添加
escape '/'
效果图如下:
这样的话你用%号和_模糊查询的时候就不会再查到数据了。
觉得好用请点个赞谢谢。
上一篇: 新手求教,该如何解决