Home 科技 mybatis在xml文件...

mybatis在xml文件中處理大於號小於號的方法


原創 2017年10月12日19:54:28

背景:在mybatis映射文件中書寫sql語句,where子句中經常會用到大於小於號,如果直接用大於小於號就會報錯

問題:在xxxMapper.xml中的sql語句中,不能直接用大於號和小於號,需要使用轉義字符

如果用小於號會報錯誤如下:

org.apache.ibatis.builder.BuilderException: Error creating documentinstance. Cause: org.xml.sax.SAXParseException: The content of elementsmust consist of well-formed character data or markup.

大於號不會報錯,但是最好也使用下面的方法解決

解決辦法1:xml特殊字符可以使用轉義字符代替

轉義字符


如果是在動態語句中,則需要轉換

如:

解決辦法2:

使用 <![CDATA[ ]]>區,將sql語句包括起來, 在兩者之間嵌入不想被解析程序解析的原始數據,解析器不對

CDATA 區中的內容進行解析,而是將這些數據原封不動地交給下游程序處理。 <![CDATA[ ]]>標記的sql語句中的<where>、<if>等標籤不會被解析

將其放入到<![CDATA[ ]]> 標籤中

如:





文章來源