MyBatis 本是apache的一个开源项目iBatis,支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。下面为大家说一说在Mybatis映射配置文件xml中如何处理大于号,小于号等特殊符号的。
其一:比较简单实用的方式,直接转译了即可,如下面SQL语句
SELECT * FROM Table WHERE 1=1 AND startDate <= nowDate AND endDate >= nowDate
附:XML转义字符具体如下:
< < 小于号
> > 大于号
& & 和
' ’ 单引号
" " 双引号
其二:映射配置文件xml中时不允许出现类似“>”这样的字符, Mybatis自身支持的<![CDATA[ ]]>符号,可以通过此类符号不进行解析 。
SQL语句如下:
SELECT * FROM Table WHERE 1 = 1 AND
start_date<![CDATA>=]]>
‘2016-11-23’ AND
end_date <![CDATA[<=]]>
’2016-12-16’
<![CDATA[ ]]>符号说明:
1)CDATA区域是由“<![CDATA["为开始标记,以“]]>”为结束标记,注意CDATA必须大写
2)<![CDATA[文本内容]]> CDATA的文本内容中不能出现字符串,并且CDATA不能嵌套使用
3)在CDATA标记中的信息被解析器原封不动地传给应用程序,并且不解析该段信息中的任何控制标记