MyBatis 解决模糊查询包含特殊字符
第一块:MyBatis 实现模糊查询方式
1.1 sql中字符串拼接
SELECT * FROM 表名 WHERE 字段名 LIKE CONCAT(CONCAT('%', #{参数}), '%');
1 2. 使用 ${…} 代替 #{…}
SELECT * FROM 表名 WHERE 字段名 LIKE '%${参数}%';
注意:($不能防止sql注入, #{}—> 可以防止sql注入的问题)
1.3 程序中拼接
Java 代码
String searchText = new StringBuilder("%").append(text).append("%").toString(); parameterMap.put("text", searchText);
Mapper 映射文件
SELECT * FROM 表名 WHERE 字段名 LIKE #{参数};
第二块:MyBatis 实现特殊字符处理之<![CDATA[ ]]>
2.1 <![CDATA[ ]]> 简介
它的全称为character data,以"** “开始,以” ]]>" 结束,在两者之间嵌入不想被解析程序解析的原始数据,解析器不对CDATA区中的内容进行解析,而是将这些数据原封不动地交给下游程序处理。
2.2 MyBatis 自动转义特殊字符表
特殊字符 | 替代符号 |
---|---|
& | & |
< | < |
> | > |
" | " |
’ | ' |
2.3 <![CDATA[ ]]> 特殊字符
xml 中表示: <= 小于等于、 >= 大于等于 需加 这样的标记: **** xml中有&的符号,需要
<![CDATA[&]]>这样表示&
<= 小于等于 :<![CDATA[ <= ]]>
>= 大于等于:<![CDATA[ >= ]]>
第三块 模糊查询包含特殊字符
解决办法: 使用 ${…} + <![CDATA[ ]]>
模板:
<select id="searchAll" parameterType="map" resultType="map">SELECT *FROM 表名 PWHERE 1=1 <if test="参数 != null and 参数 != ''"><![CDATA[ AND P.字段名 LIKE '%${参数}%']]></if>
</select>
MyBatis 解决模糊查询包含特殊字符相关推荐
- mongodb模糊查询包含特殊字符
mongodb中的待特殊字符的模糊查询需要转义下才能查到 (name: /wo*2hjf/ 查不到 name: /wo\*2hjf/ 查得到 ) let str=wo*2hjf; let fil ...
- MyBatis:模糊查询的4种实现方式
1.根据姓名模糊查询员工信息 1.1.方式一 步骤一:编写配置文件 步骤二:测试 步骤三:分析 此种方式需要在调用处手动的去添加"%"通配符. 1.2.方式二 说明: 使用方式一可 ...
- mybatis like模糊查询_Java自学之mybatis:模糊查询和多条件查询
学习目的 使用mybatis进行模糊查询:查找category_表中包含cat的记录. 使用mybatis进行多条件查询:查找category_表中id>1,包含cat的记录. Part 1 模 ...
- mysql解决模糊查询包含关系
mysql解决模糊查询包含关系 后台要根据期限筛选查询时如果用like, SELECT * from t_user_accord_invest t where t.invest_period like ...
- MyBatis实现模糊查询的三种方式
MyBatis实现模糊查询的三种方式 准备 模糊查询 方式一 方式二 方式三 由于#{}是占位符本身,自带单引号,所以在模糊查询时需要一些技巧. 准备 数据库表 bean 模糊查询 以查询出所有用户名 ...
- 解决模糊查询问题 element UI 从服务器搜索数据,输入关键字进行查找
解决模糊查询问题 element UI 从服务器搜索数据,输入关键字进行查找 参考文章: (1)解决模糊查询问题 element UI 从服务器搜索数据,输入关键字进行查找 (2)https://ww ...
- Mybatis学习记录(四)——Mybatis实现模糊查询的三种方法
2018.4.8 仅为个人理解 不足之处欢迎指正~ 数据库说明: 我们在之前的数据库中添加三列:sex major class 现有如下记录: Mybatis进行模糊查询: Mybatis进行模糊查询 ...
- MongoDB 模糊查询包含/不包含字符串
MongoTemplate模糊查询,spring boot MongoDB模糊查询 模糊查询 不包含 content 的记录 String content = "192.168.1.2&q ...
- MyBatis Plus 模糊查询报错, 但是不影响返回结果[解决]
1 现状 模糊查询报错, 但不影响查询结果 2 报错信息 optimize this sql to a count sql has exception, sql:xxxxxxxxxxxxxxxxxxx ...
最新文章
- You must reset your password using ALTER USER statement before executing thi
- MYSQL 双主搭建
- ASP.NET MVC 1.0 NVelocityViewEngine
- 【转】c#中类的默认访问修饰符
- Altium designer原理图库中元件变动后在原理图中同步更新方法
- 利用PHP SOAP实现web service
- android手机打电话src,【SPILL 百科】SRC:Android 系统的 48kHz 音讯输出限制
- 视觉中的经典图像特征小结(一): 颜色直方图, HOG, LBP
- 我要带徒弟学写JAVA架构,引路架构师之路(Jeecg开源社区)
- 【译】WebSocket协议第五章——数据帧(Data Framing)
- 图片上一张与下一张切换
- 卑微的我,喜欢遥远的你
- mysql特殊字符转义_MYSQL特殊字符转义
- 错误 请再次按下快门释放按钮
- Canvas监测雷达
- unity 3d音效如何设置?,近大远小
- [Python模块]根据姓名笔画数排序
- spring mysql 事务回滚失败_Spring事务回滚失败
- CSP-J1 CSP-S1 第1轮 初赛 考前强化训练
- QT编写磨砂玻璃效果函数
热门文章
- 手术后多久可以做胆摘除_近视手术后多久可以化眼妆?
- Java LocalDate类| 带示例的format()方法
- Java Hashtable rehash()方法与示例
- Java ClassLoader getResources()方法与示例
- 保姆级教程,终于搞懂脏读、幻读和不可重复读了!(经典回顾)
- Google Guava,牛逼的脚手架
- 面试干货 | Java 能否自定义一个类叫 java.lang.System?
- jenkins用ssh agent插件在pipeline里实现scp和远程执行命令
- 解决VM 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VM 的方法
- c语言如何把void换成汉字,有没有大佬帮我把这个代码改成void函数形式的代码。拜托了!...