mybatis xml中特殊字符的處理

<![CDATA[ ]]>

  • XML文件會在解析XML時將5種特殊字符進行轉義,分別是&, <, >, “, ‘, 我們不希望語法被轉義,就需要進行特別處理。
  • 有兩種解決方法:其一,使用<![CDATA[ ]]>標籤來包含字符。其二,使用XML轉義序列來表示這些字符。
<select id="userInfo" parameterType="java.util.HashMap" resultMap="user">   
     SELECT id,newTitle, newsDay FROM newsTable WHERE 1=1  
     AND  newsday <![CDATA[>=]]> #{startTime}
     AND newsday <![CDATA[<= ]]>#{endTime}  
  ]]>  
 </select>  
  • 在CDATA內部的所有內容都會被解析器忽略,保持原貌。所以在Mybatis配置文件中,要儘量縮小 <![CDATA[ ]]>
    的作用範圍,來避免 等sql標籤無法解析的問題。

使用XML轉義序列
5種特殊字符的轉義序列

//特殊字符				轉義序列
	<					&lt;
	>					&gt;
	&					&amp;
	"					&quot;
	'					&apos;

上述sql也可以寫成如下:

<select id="userInfo" parameterType="java.util.HashMap" resultMap="user">   
     SELECT id,newTitle, newsDay FROM newsTable WHERE 1=1  
     AND  newsday &gt; #{startTime}
     AND  newsday &gt; #{endTime}  
 </select>  

推薦使用<![CDATA[ ]]>,清晰,簡潔

發佈了30 篇原創文章 · 獲贊 18 · 訪問量 1408
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章