<![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種特殊字符的轉義序列
//特殊字符 轉義序列
< <
> >
& &
" "
' '
上述sql也可以寫成如下:
<select id="userInfo" parameterType="java.util.HashMap" resultMap="user">
SELECT id,newTitle, newsDay FROM newsTable WHERE 1=1
AND newsday > #{startTime}
AND newsday > #{endTime}
</select>
推薦使用<![CDATA[ ]]>,清晰,簡潔