在mybatis 的mapper配置文件sql语句中, 有时用到 大于, 小于等等的比较, 直接写在里面就被当做标签的开头来处理了, 所以不可.现在又2种解决方法:
一, 用<![CDATA[ ]]>标识,其中不但能用大于'>', 小于'<', 小于等于'<=', 大于等于'>=' 也是可以的.例如:

<if test="menu.authority != null">  
    <![CDATA[ and authority < #{menu.authority}]]>  
</if>  

二, 转义, 同样可以可以和等号'='一起来使用, 来表示大于等于, 小于等于等。例如:

<if test="menu.authority != null">  
    and authority &lt; #{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' ]]>
posted on 2019-12-17 15:20  微笑点燃希望  阅读(5475)  评论(0编辑  收藏  举报
font=white