mybatis特殊字符處理


在mybatis 的mapper.xml文件中特殊字符處理方式  僅供參考

出處:http://yaobenzhang.blog.163.com/blog/static/214395113201561523017861/

1,CDATA區:

它的全稱為character data,以"<![CDATA[ "開始,以" ]]>" 結束,在兩者之間嵌入不想被解析程序解析的原始數據,解析器不對CDATA區中的內容進行解析,而是將這些數據原封不動地交給下游程序處理。

 

2,特殊字符 :

xml 中表示:   <= 小於等於、    >= 大於等於 需加  這樣的標記:     <![CDATA[   ]]>      xml中有&的符號,需要<![CDATA[&]]>這樣表示&

<= 小於等於 :<![CDATA[   <=  ]]>

>= 大於等於:<![CDATA[  >=  ]]>

 

3,一些特殊字符也可用下面的替代符號所代替。

 特殊字符   替代符號

     &            &amp;

     <            &lt;

     >            &gt;

     "             &quot;

     '              &apos;

 

查詢時,需要獲取某一時間區間內的數據:

<if test="startTime!=null">
    and t.createTime>#{startTime}
</if>
<if test="endTime!=null">
    and t.createTime<#{endTime}
</if>

但是在mybatis的xml文件中小於號是一個開始標簽,這時候小於號會被識別為特殊字符。

解決方案:

使用CDATA包括起來,就能避免特殊字符了。這方法適用所有的特殊字符。

<![CDATA[ 
    
]]>

使用的案例:

<if test="startTime != null" > 
  <![CDATA[ 
    and t.createTime > #{startTime} 
  ]]>
</if> 
<if test="endTime != null" > 
  <![CDATA[ 
  and t.createTime < #{endTime} 
  ]]>
</if> 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM