SpringBoot【十】mybatis之xml映射文件>、<=等特殊符号写法!

一、前言🔥

环境说明:Windows10 + Idea2021.3.2 + Jdk1.8 + SpringBoot 2.3.1.RELEASE
在利用mybatis进行开发的时候,编写sql时可能少不了>=、<等比较符号,但是在mapper映射文件中直接使用是不行的,会报错,这时就需要将这些特殊符号进行一个转换,有两种转换方式,大家请看:

第一种:直接转义

复制代码
大于  => &gt;
大于等于  => &gt;=
小于  => &lt;
小于等于  => &lt;=
不等于  => &lt;&gt;

具体咱们一个一个测试,好吧

原义sql:

复制代码
select * from user where id>2;

则在UserMapper.xml 中,得这么写

复制代码
select * from user where id &gt;2

测试一下 大于符号:

结果如下,控制台明显是进行了符号转义。

再测试一个 小于等于 符号:

原义sql:

复制代码
select * from user where id<=2;

则在UserMapper.xml 中,得这么写

复制代码
select * from user where id &lt;=2

结果如下,控制台明显也是进行了符号转义。

好啦,剩下的就你们自己写着试试啦,我这就不一一赘述了啊,好伐?

第二种:

1、先大致给大家介绍一下,如下判断符号对于的转义符.也很好记,大于小于跟数学符号一致,更换 中的符号即可。

大于 => <!CDATA\[ \> ]>
大于等于 => <!CDATA\[ \>= ]>
小于 => <!CDATA\[ \< ]>
小于等于 => <!CDATA\[ \<= ]>
不等于 => <!CDATA\[ \<\> ]>

2、给大家举例演示一下吧!

原义sql:

复制代码
select * from user where id<=2;

.xml中使用:

复制代码
select * from user where id  <![CDATA[ <= ]]> 2

执行结果如下:

如上执行sql打印结果与要执行的sql执行逻辑一致,说明转义成功了。再举例一个不等于 的sql吧,大家请看。

原义sql:

复制代码
select * from user where id !=2;

.xml中使用:

复制代码
select * from user where id  <![CDATA[ <> ]]> 2

执行结果如下:

综上,使用如上两种,都很简单,大家根据自己的代码习惯选择而定,两种方式都没啥太大的区别,唯一区别就是写法略微不同而已啦。

相关推荐
VX_bysjlw98520 分钟前
基于微信小程序的宠物用品商城系统-后端74346-计算机毕设原创(免费领源码+带部署教程)
java·redis·微信小程序·eclipse·mybatis·idea·微信开发者工具
JAVA面经实录91737 分钟前
图解23种设计模式完整知识体系(Java后端面试完整版)
java·架构
阳光是sunny40 分钟前
LangGraph实战教程:状态管理与`graph.invoke`入参深度解析
前端·人工智能·后端
会飞的大鱼人1 小时前
一文搞懂 Java HashSet:把它想成游乐园里只允许一次入场的盖章名单
java·开发语言·windows
AI_小站1 小时前
Loop Engineering又是啥?一文讲清企业Agent落地的四层工程进化论
java·人工智能·架构·prompt·大模型开发·智能体·大模型应用
神奇小汤圆1 小时前
深入解析 Flink Kafka Connector:原理、配置与最佳实践
前端·后端
神奇小汤圆1 小时前
在 Nacos 点了下线,为什么流量还是打到了停机的机器上?
后端
jiay21 小时前
【.net10】顶级程序语句
java·开发语言
阳光是sunny2 小时前
LangGraph实战教程:一文搞懂图的状态(State)管理
前端·人工智能·后端
whyfail2 小时前
前端学 Spring Boot(5):从“你是谁”到“服务真的上线了”
前端·spring boot·后端