前言
在使用mybatis框架进行开发时,编写sql少不了<=,>=,>,<,<>等比较符号,但是直接在mapper文件中,直接使用这些符号是不行的,此时就需要对类似于这种的符号进行转换。
正文
直接符号转义
以下罗列出sql中的比较符合和对应的转义符号:
大于 > ==> >
大于等于 >= ==> >=
小于 < ==> <
小于等于 <= ==> <=
不等于 <> != ==> <>
原sql:
select * from user where age > 10;
在mapper文件中:
select * from user where age >10
转义符转义
在mybatis等书写sql的xml文件中比较常见,是一种xml语法,它的作用可以忽略xml的转义(在该标签中的语句和字符,原本是什么样子,拼接为sql后还是什么样子的)
原sql:
select * from user where age >= 10;
在mapper文件中:
select * from user where <![CDATA[ age >= 10 ]]>
注意:
1、使用动态SQL时,比如if、foreach、where等标签,一但被<![CDATA[]]>标签包裹,将忽略xml的解析并出错
2、<![CDATA[]]>标签中不可以嵌套<![CDATA[]]>
3、<![CDATA[]]>尽量缩小范围,以免出错