0%

mybatis的xml中< >的写法

非法的 XML 字符必须被替换为实体引用(entity reference) 假如您在 XML 文档中放置了一个类似 “<” 字符,那么这个文档会产生一个错误,这是因为解析器会把它解释为新元素的开始。因此你不能这样写:

1
<message>if salary < 1000 then</message>

由于Mybatis的sql是写在配置文件里面,但解析xml时出现 >= 或 <= 时会认为 < 是一个标签的开始,导致sql报错。

解决方案有两种

1、加上CDATA

1
2
3
<isNotEmpty property="logNameEnd" prepend="AND">
<![CDATA[ u.log_name >= #logNameStart# AND u.log_name <= #logNameEnd# ]]>
</isNotEmpty>

意思就是在有 >=(包括其他比较符< >) 的该行需要加入****

2、使用转义符号

在 XML 中有 5 个预定义的实体引用:

实体引用 符号 说明
&lt; < 小于
&gt; > 大于
&amp; & 和号
&apos; 省略号
&quot; " 引号

在书写时,将符号转为第一列的实体引用即可。