mybatis的xml中< >的写法

作者: tikyle | 来源:发表于2016-08-25 13:09 被阅读2007次

    非法的 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中< >的写法

    相关文章

      网友评论

        本文标题:mybatis的xml中< >的写法

        本文链接:https://www.haomeiwen.com/subject/dlqasttx.html