mybatis中like模糊查询特殊字符报错怎么实现转义处理
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,这篇文章给大家分享的是有关mybatis中like模糊查询特殊字符报错怎么实现转义处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。like模糊查询特殊字符报错转义处理方案
千家信息网最后更新 2025年11月16日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安全错误
数据库的锁怎样保障安全
天津网络技术服务概况
苏州加工刀片服务器销售
地质科学数据库共享网
腾讯云购买香港服务器安全吗
服务器6230 xeon
新建数据库代码实现
网络安全法后续配套法律
可以调整数据库列的位置吗
北京企业软件开发价钱
lamp需要购买服务器吗
江西浪潮服务器虚拟化安装
数据库系统阶段的18个特点
上海网络安全系统培训班
赣州政府软件开发在哪里招标
网络安全讲竞赛 讲话
软件开发与软件产品销售
灵宝谷雨网络技术有限公司
数据库检索问题
简答数据库和数据处理的概念
移动互联网网络技术特点
首都网络安全电子小报
上海网络安全审计硬件价格
吉林通信软件开发价格服务标准
网络安全产品利润来源
漳州市网络安全大会
三级网络技术文字教程
网店管家云端版数据库地址
文儿绘画课堂网络安全手抄报
云计算之网络技术学习心得
京东送装服务器