在mybatis 的mapper配置文件sql語句中, 有時用到 大於, 小於等等的比較, 直接寫在里面就被當做標簽的開頭來處理了, 所以不可.現在又2種解決方法:
一, 用<![CDATA[ ]]>標識,其中不但能用大於'>', 小於'<', 小於等於'<=', 大於等於'>=' 也是可以的.例如:
<if test="menu.authority != null"> <![CDATA[ and authority < #{menu.authority}]]> </if>
二, 轉義, 同樣可以可以和等號'='一起來使用, 來表示大於等於, 小於等於等。例如:
<if test="menu.authority != null"> and authority < #{menu.authority} </if>
mybatis在xml文件中處理大於號小於號的方法
第一種方法:
用了轉義字符把>和<替換掉,然后就沒有問題了。
SELECT * FROM test WHERE 1 = 1 AND start_date <= CURRENT_DATE AND end_date >= CURRENT_DATE
附:XML轉義字符
XML轉義字符.png
第二種方法:
因為這個是xml格式的,所以不允許出現類似“>”這樣的字符,但是都可以使用<![CDATA[ ]]>符號進行說明,將此類符號不進行解析
你的可以寫成這個:
<![CDATA[ when min(starttime)<='12:00' and max(endtime)<='12:00' ]]>
