Mybatis在xml文件中处理大于号小于号的方法
在mapper.xml写小于号时报错:
<select id="selectCount2" resultType="java.lang.Integer" parameterType="java.lang.Integer">
select count(1) from
t_ctms2space c
where datediff(c.endtime,now())<0
</select>
解决方法:
第一种方法:
用转义字符把">"和"<"替换掉,就没有问题了。
<select id="selectCount2" resultType="java.lang.Integer" parameterType="java.lang.Integer">
select count(1) from
t_ctms2space c
where datediff(c.endtime,now())<0
</select>
附:XML转义字符
< < 小于号
> > 大于号
& & 和
' ’ 单引号
" " 双引号
第二种方法:
因为这个是xml格式的,所以不允许出现类似">"这样的字符,但是可以使用<![CDATA[ ]]>符号进行说明,将此类符号不进行解析
mapper.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>