Mybatis特殊字元轉義
阿新 • • 發佈:2018-12-18
<![CDATA[ ]]>
XML檔案會在解析XML時將5種特殊字元進行轉義,分別是&, <, >, “, ‘, 我們不希望語法被轉義,就需要進行特別處理。
有兩種解決方法:其一,使用<![CDATA[ ]]>標籤來包含字元。其二,使用XML轉義序列來表示這些字元。
SELECT id,newTitle, newsDay FROM newsTable WHERE 1=1
AND newsday <![CDATA[>=]]> #{startTime}
AND newsday <![CDATA[<= ]]>#{endTime}
]]>
1 2 3 4 5 6 在CDATA內部的所有內容都會被解析器忽略,保持原貌。所以在Mybatis配置檔案中,要儘量縮小 <![CDATA[ ]]> 的作用範圍,來避免<if test=""> </if> <where> </where> 等sql標籤無法解析的問題。
使用XML轉義序列 5種特殊字元的轉義序列
特殊字元 轉義序列
< <
> >
& &
" "
' '
1
2
3
4
5
6
上述sql也可以寫成如下:
SELECT id,newTitle, newsDay FROM newsTable WHERE 1=1 AND newsday > #{startTime} AND newsday > #{endTime}1 2 3 4 5