1. 程式人生 > >mybatis sql語句配置大於號小於號的處理

mybatis sql語句配置大於號小於號的處理


今天在寫程式碼時,因為業務,需要在mybatis中,使用到大於號,小於號,所以就在SQL中直接使用了。

SELECT * FROM test WHERE 1 = 1 AND start_date <= CURRENT_DATE AND end_date >= CURRENT_DATE


可是,在執行時,總報錯誤:

Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 74; columnNumber: 17; 元素內容必須由格式正確的字元資料或標記組成。

把AND start_date >= CURRENT_DATE AND end_date <= CURRENT_DATE去掉,就沒有問題,所以確定是因為大於號,小於號引起的問題。

於是就想到了特殊符號,於是用了轉義字元把>和<替換掉,然後就沒有問題了。

SELECT * FROM test WHERE 1 = 1 AND start_date  &lt;= CURRENT_DATE AND end_date &gt;= CURRENT_DATE

附:XML轉義字元

                     &lt;                                 

<

小於號                                           

&gt;

>                                      

大於號

&amp;

&

&apos;

單引號

&quot;

"

雙引號