您的位置:首页 > 编程语言 > Java开发

mybatis异常invalid comparison: java.util.Date and java.lang.String

2017-12-14 00:33 429 查看
mybatis使用xml动态sql时比较时间遇到的异常

第一种

<if test="cTime != null and cTime !='' " >
c_time = #{cTime}
</if>


修改为

<if test="cTime != null>
c_time = #{cTime}
</if>


网上说这是mybatis3.3.0的一个bug,时间类型与空字符串比较会引发异常。

经过测试,并且不与空字符串比较,即使传入空字符串,也不会进入if test报错。

所以加上and cTime !=''这个多此一举。

第二种

<if test="cTime != null">
c_time = date(#{cTime,jdbcType=TIMESTAMP})
</if>
to_date(#{CREATE_DATE},'YYYY/MM/DD HH24:mi:ss')


这两种方式个人在数据库中只用date执行过,并且需要前后都加上date(c_time)= date(#{cTime,jdbcType=TIMESTAMP})

以上,其实比较麻烦,xml支持直接比较时间的

推荐

<if test="cTime != null">
c_time = #{cTime}
</if>


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  xml mybatis 异常 date
相关文章推荐