mybatis在mapper.xml文件中的大於小於等符號處理

在項目中加了個查詢,沒注意這個問題,結果一運行報錯,說什麼沒法注入bean,還覺得哪錯了,再往上翻debug信息發現了:debug

 Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 310; columnNumber: 15; 元素內容必須由格式正確的字符數據或標記組成。code

原來是SQL語句中用了大於小於符號:xml

<if test="type != null">
	AND INSTR(type,#{type,jdbcType=VARCHAR}) > 0
</if>

用轉義符替換後正常運行:io

<if test="type != null">
	AND INSTR(type,#{type,jdbcType=VARCHAR}) &gt; 0
</if>

 

轉義符class

&lt;        <        小於號
&gt;        >        大於號
&amp;        &        和
&apos;        ’        單引號
&quot;        "        雙引號test

<![CDATA[ ]]>jdbc

還有種解決方案,使用<![CDATA[ ]]>符號進行說明,裏面的內容將不進行解析 
 bug

<![CDATA[ AND INSTR(type,#{type,jdbcType=VARCHAR}) > 0 ]]>
相關文章
相關標籤/搜索