<select id="getMoOrderExceptions" resultType="java.util.HashMap">
SELECT
count(1) cnt,
'未完成订单' display_name
FROM
mo_order a
WHERE
a.mo_status IN ('2', '3') and a.create_time>STR_TO_DATE(#{date1},'%Y-%m-%d %H:%i:%S') and a.create_time <![CDATA[ < ]]> STR_TO_DATE(#{date2},'%Y-%m-%d %H:%i:%S')
UNION
SELECT
count(1) cnt,
'超期订单' display_name
FROM
mo_order a
WHERE
a.mo_status IN ('2', '3')
AND a.dead_line <![CDATA[ < ]]> now() and a.create_time>STR_TO_DATE(#{date1},'%Y-%m-%d %H:%i:%S') and a.create_time <![CDATA[ < ]]> STR_TO_DATE(#{date2},'%Y-%m-%d %H:%i:%S')
</select>
我在调试mybatis代码时候,系统报错,检查发现问题如下,特此记录以示警惕:
小于号<在xml文件里属于特殊符号,需要转定义才能正常运行,小于号正确的在mapper文件怎么转定义呢?
答案是:<![CDATA[ < ]]>
有趣的是只有小于号是这个问题,大于号没有这个问题,非常诡异