Mybatis 中的

在使用mybatis 時我們sql是寫在xml 映射文件中,如果寫的sql中有一些特殊的字符的話,在解析xml文件的時候會被轉義,但我們不希望他被轉義,所以我們要使用<![CDATA[ ]]>來解決。

<![CDATA[   ]]> 是什麼,這是XML語法。在CDATA內部的所有內容都會被解析器忽略。

如果文本包含了很多的"<"字符 <=和"&"字符——就象程序代碼一樣,那麼最好把他們都放到CDATA部件中。

但是有個問題那就是 <if test="">   </if>   <where>   </where>  <choose>  </choose>  <trim>  </trim> 等這些標籤都不會被解析,所以我們只把有特殊字符的語句放在 <![CDATA[   ]]>  儘量縮小 <![CDATA[  ]]> 的範圍。

實例如下:

[java] view plain copy
 print?在CODE上查看代碼片派生到我的代碼片
  1. <select id="allUserInfo" parameterType="java.util.HashMap" resultMap="userInfo1">  
  2.   <![CDATA[  
  3.   SELECT newsEdit,newsId, newstitle FROM shoppingGuide  WHERE 1=1  AND  newsday > #{startTime} AND newsday <= #{endTime}  
  4.   ]]>  
  5.   <if test="etidName!=''">  
  6.    AND newsEdit=#{etidName}  
  7.   </if>  
  8.  </select>  
因爲這裏有 ">"  "<=" 特殊字符所以要使用 <![CDATA[   ]]> 來註釋,但是有<if> 標籤,所以把<if>等 放外面
發佈了18 篇原創文章 · 獲贊 9 · 訪問量 9135
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章