一、前言🔥
环境说明:Windows10 + Idea2021.3.2 + Jdk1.8 + SpringBoot 2.3.1.RELEASE
在利用mybatis进行开发的时候,编写sql时可能少不了>=、<等比较符号,但是在mapper映射文件中直接使用是不行的,会报错,这时就需要将这些特殊符号进行一个转换,有两种转换方式,大家请看:
第一种:直接转义
大于 => >
大于等于 => >=
小于 => <
小于等于 => <=
不等于 => <>
具体咱们一个一个测试,好吧
原义sql:
select * from user where id>2;
则在UserMapper.xml 中,得这么写
select * from user where id >2
测试一下 大于符号:
结果如下,控制台明显是进行了符号转义。
再测试一个 小于等于 符号:
原义sql:
select * from user where id<=2;
则在UserMapper.xml 中,得这么写
select * from user where id <=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
执行结果如下:
综上,使用如上两种,都很简单,大家根据自己的代码习惯选择而定,两种方式都没啥太大的区别,唯一区别就是写法略微不同而已啦。