今天在寫代碼時,因為業務,需要在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 <= CURRENT_DATE AND end_date >= CURRENT_DATE
附:XML轉義字符
< < 小於號 > > 大於號 & & 和 ' ' 單引號 " " 雙引號
原文鏈接:https://blog.csdn.net/gisredevelopment/article/details/27870833