<sql id="MysqlDialectSuffix">
<!--
WARNING - @mbggenerated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Thu Oct 10 09:46:29 CST 2013.
-->
<if test="page != null">
<![CDATA[ limit #{page.begin}, #{page.length} ) as temp_page_table) ]]>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</if>
</sql>
上述代码是利用mybatis的generator自动生成的代码,为什么要加﹤![CDATA[ ]]>呢?感觉完全没有必要的啊,里面的SQL语句并没有破坏xml文档结构,或引起sql错误的啊?为什么呢?
=============================================================
补充说明,我知道它的用法,我只是不明白sql的分页
limit #{page.begin}, #{page.length} ) as temp_page_table)
这个语句,为什么要加<![CDATA[]]>呢?
在 XML 元素中,"<" 和 "&" 是非法的。
"<" 会产生错误,因为解析器会把该字符解释为新元素的开始。
"&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。
某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。
CDATA 部分中的所有内容都会被解析器忽略。
假设有这么一个SQL
如果不用CDATA封装,xml解析器回去解析,结果遇到">"会导致文档结构错误