Mybatis中的CDATA標籤和轉義符

在Mybatis的xml文件中寫sql語句時,有時可能會有 “<” 、 “&” 字符等這些符號,但是mybatis的xml文件會將這些符號轉義,在以往的操作中,如果要解決這個問題,就使用對應的轉義符,如用&lt;代替<,具體轉義符如下所示:
mybatis字符轉義表
當然,也可以使用標籤<![CDATA[ ]]>。將帶有會被轉義的符號的內容放在 <![CDATA[ 和 ]]> 之間,這樣這些內容就不會被解析,如下所示 :

<select id="count">
<![CDATA[
	SELECT count(1) FROM USER WHERE CREATE_DATE<now()
]]>
</select>

但是注意<if test=""> </if> <where> </where> <choose> </choose> <trim> </trim>這些標籤如果放在<![CDATA[ ]]中,也是不會被解析的,所以如果有<if>標籤,注意不要寫在<![CDATA[ ]]中,示例如下:

<select id="count">
	<if test="userId !='' "> 
		<![CDATA[
			SELECT count(1) FROM USER WHERE CREATE_DATE<now() AND USER_ID=#{userId,jdbcType=VARCHAR}
		]]>
	</if>
</select>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章