今日值得看Java学习笔记我爱编程

mybatis的xml中< >的写法

2016-08-25  本文已影响2007人  tikyle

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

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

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

1、加上CDATA

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

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

2、使用转义符号

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

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

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

欢迎访问我的博客mybatis的xml中< >的写法

上一篇 下一篇

猜你喜欢

热点阅读