mybatis中like模糊查询特殊字符报错怎么实现转义处理
发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,这篇文章给大家分享的是有关mybatis中like模糊查询特殊字符报错怎么实现转义处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。like模糊查询特殊字符报错转义处理方案
千家信息网最后更新 2024年11月28日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安全错误
数据库的锁怎样保障安全
苹果电脑时间与服务器时间不一致
网络技术中存在的问题的对策
数据库可以划分为六个阶段
深圳市蓝谷网络技术怎么样
湖南数据库日志审计厂家
查询长沙学软件开发的学校
适合游戏的数据库
如何在本地建立数据库
松江区环保网络技术调试
软件开发合同怎么才可以免税
软件开发生存周期ppt
c支持的数据库
数据库自动增量备份程序
网络安全清理
怎么在电脑上面找到数据库
数据库与网络技术哪个好
开发一款软件开发难吗
高淳区网络技术服务排名靠前
网络安全探究课
软件开发场景创新
数据库系统故障
云服务器共享应用程序
网络安全巡查监测工作
阿里云服务器1t存储多少钱
周跃网络技术
数据库的外码
动态数据库的技术特点
网络安全不是目标而是过程
平安科技 互联网连州
量子网络技术工作室