mybatis 中的

在使用mybatis 時咱們sql是寫在xml 映射文件中,若是寫的sql中有一些特殊的字符的話,在解析xml文件的時候會被轉義,但咱們不但願他被轉義,因此咱們要使用<![CDATA[ ]]>來解決。java

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

若是文本包含了不少的"<"字符 <=和"&"字符——就象程序代碼同樣,那麼最好把他們都放到CDATA部件中。mybatis

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

實例以下:ui

<select id="allUserInfo" parameterType="java.util.HashMap" resultMap="userInfo1">  
  <![CDATA[  
  SELECT newsEdit,newsId, newstitle FROM shoppingGuide  WHERE 1=1  AND  newsday > #{startTime} AND newsday <= #{endTime}  
  ]]>  
  <if test="etidName!=''">  
   AND newsEdit=#{etidName}  
  </if>  
 </select>  

由於這裏有 ">"  "<=" 特殊字符因此要使用 <![CDATA[   ]]> 來註釋,可是有<if> 標籤,因此把<if>等 放外面code

相關文章
相關標籤/搜索