在使用mybatis 時我們sql是寫在xml 映射文件中,如果寫的sql中有一些特殊的字符的話,在解析xml文件的時候會被轉義,但我們不希望他被轉義,所以我們要使用<![CDATA[ ]]>
來解決。
<![CDATA[ ]]>
是什麼,這是XML語法。
在CDATA內部的所有內容都會被解析器忽略。
如果文本包含了很多的”<”字符 <=和”&”字符,最好把他們都放到CDATA部件中。
但是有個問題那就是 <if test=""> </if> <where> </where> <choose> </choose> <trim> </trim>
等這些標籤都不會被解析,所以我們只把有特殊字符的語句放在 <![CDATA[ ]]>
的範圍中。
下面就舉個大小寫字符的例子,上面那些標籤把轉義符號嵌套在裏面即可:
select
<include refid="Base_Column_List"/>
from mmall_order
where status = #{status}
<![CDATA[
and create_time <= #{date}
]]>
order by create_time desc