mybatis中like模糊查询特殊字符报错怎么实现转义处理
发表于:2025-02-13 作者:千家信息网编辑
千家信息网最后更新 2025年02月13日,这篇文章给大家分享的是有关mybatis中like模糊查询特殊字符报错怎么实现转义处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。like模糊查询特殊字符报错转义处理方案
千家信息网最后更新 2025年02月13日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安全错误
数据库的锁怎样保障安全
局网络安全情况报告
数据库设置字段顺序编号
服务器开发入门
uml软件开发模型分析题
事故报告数据库
关系数据库分布式部署
我的世界手机外国服务器推荐
勤工俭学系统mysql数据库
特斯拉上海数据中心多少服务器
微信数据库读取
索尼双影像数据库是什么意思
温州软件开发驻场哪里好
新突变位点上传数据库
outlook设置服务器
无法作为数据库主体
数据库设计信息化概论
数据库间隙锁范围
网络安全一般包括以下哪几个方面
软件开发框架jade
奇虎360企业网络安全产品
数据库是什么信息检索工具吗
望湾网络技术
华脉科技与互联网
网络安全现状说明了计算机
数据库关系模型选择
天津发展软件开发单价
双流区网络安全活动
星际争霸服务器检索内容出不来
数据库文件怎么增加
甘肃人社系统认证服务器异常