一、使用场景
使用Mybaits进行SQL查询时候,无法避免要用到大于号和小于号,但是如果直接使用,会被当成XML标记解析,导致SQL执行错误,要解决该问题有两种方法,一种是转义的方式,另外一种是标记方式,详细举例如下。
二、使用转义方式实现大于小于号的表示(等号不需要转义)
> 表示大于号
< 表示小于号
具体使用如下:
<if test="startTime != null ">
AND order_date >= #{startTime,jdbcType=DATE}
</if>
<if test="endTime != null ">
AND order_date <= #{endTime,jdbcType=DATE}
</if>
三、使用标记方式实现大于小于号的表示
XML中 如果被**<![CDATA[ ]]>** 标记,就不会对其中内容进行XML解析,所以再其内部可以直接使用大于和小于符号
<if test="startTime != null ">
AND <![CDATA[ order_date >= #{startTime,jdbcType=DATE} ]]>
</if>
<if test="endTime != null ">
AND <![CDATA[ order_date <= #{endTime,jdbcType=DATE} ]]>
</if>