mybatis中like模糊查询特殊字符报错怎么实现转义处理
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关mybatis中like模糊查询特殊字符报错怎么实现转义处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。like模糊查询特殊字符报错转义处理方案
千家信息网最后更新 2026年11月03日mybatis中like模糊查询特殊字符报错怎么实现转义处理
这篇文章给大家分享的是有关mybatis中like模糊查询特殊字符报错怎么实现转义处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
like模糊查询特殊字符报错转义处理
方案1
AND info.name like #{projectName_}
方案2
AND info.name like concat('%',#{projectName_},'%')
like模糊查询中包含有特殊字符(_、\、%)
使用MyBatis中的模糊查询时,当查询关键字中包括有_、\、%时,查询关键字失效。
当like中包含_时,查询仍为全部,即 like '%_%'查询出来的结果与like '%%'一致,并不能查询出实际字段中包含有_特殊字符的结果条目
like中包括%时,与1中相同
like中包含\时,带入查询时,%%无法查询到包含字段中有\的条目
处理
工具类:特殊字符转义
import org.apache.commons.lang3.StringUtils; public class EscapeUtil { //mysql的模糊查询时特殊字符转义 public static String escapeChar(String before){ if(StringUtils.isNotBlank(before)){ before = before.replaceAll("\\\\", "\\\\\\\\"); before = before.replaceAll("_", "\\\\_"); before = before.replaceAll("%", "\\\\%"); } return before ; }}注意
以上方法在关键字中包含有\可能会失效,失效的原因是由于查询的关键字的数据库字段排序规则为utf8_unicode_ci,要想不失效,查询的关键字的排序规则必须为utf8_general_ci,或者统一全部数据库字符集与排序规则分别为:utf8mb4与utf8mb4_general_ci
感谢各位的阅读!关于"mybatis中like模糊查询特殊字符报错怎么实现转义处理"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
查询
字符
特殊
中包
转义
关键
关键字
处理
字段
规则
排序
内容
数据
数据库
方案
更多
条目
篇文章
结果
不错
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州紫鲸互联网科技有限公司
科技与互联网
中资互联网科技
深圳互联网科技公司
互联网科技作文
万易互联网科技有限公司
艾特科技互联网
成都互联网科技公司
上海致骋互联网科技
北京禾田雨橡互联网科技
广州善班互联网科技
互联网高科技股票
米聚互联网科技南京有限公司排面
长沙茂晟互联网科技有限公司
元气玛特互联网科技公司是外包吗
21世纪互联网科技成就
信承诺互联网科技有限公司
抖集互联网科技技术咨询
上海万顺科技互联网有限公司招聘
中国主要互联网科技公司
互联网科技园
互联网金融 科技
互联网科技金融
互联网金融与金融科技
互联网医疗科技
汇久创客互联网科技
上海亿帐通互联网科技
央行互联网金融科技公司
广州互联网高科技取餐柜
米泉互联网科技专业怎么样