在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' ]]>