在Mybatis的xml文件中寫sql語句時,有時可能會有 “<” 、 “&” 字符等這些符號,但是mybatis的xml文件會將這些符號轉義,在以往的操作中,如果要解決這個問題,就使用對應的轉義符,如用<
代替<,具體轉義符如下所示:
當然,也可以使用標籤<![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>