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

相关文章
相关标签/搜索