Mybatis在xml文件中处理大于号小于号的方法

时间:2022-04-13 00:34:07

第一种方法:
用转义字符把">"和"<"替换掉,就没有问题了。

mapper文件示例代码:

<if test="startTime != null ">
    AND order_date &gt;= #{startTime,jdbcType=DATE} 
</if>
<if test="endTime != null ">
    AND order_date &lt;= #{endTime,jdbcType=DATE} 
</if>

附:XML转义字符

&lt;      <    小于号   
&gt;      >    大于号   
&amp;      &    和   
&apos;      ’    单引号   
&quot;      "    双引号   


第二种方法:
因为这个是xml格式的,所以不允许出现类似">"这样的字符,但是可以使用<![CDATA[ ]]>符号进行说明,将此类符号不进行解析
mapper文件示例代码:

<if test="startTime != null ">
    AND <![CDATA[ order_date >= #{startTime,jdbcType=DATE}  ]]>
</if>
<if test="endTime != null ">
    AND <![CDATA[ order_date <= #{endTime,jdbcType=DATE}  ]]>
</if>