最近碰到一个有意思的错误,这个错误翻译过来是无效的比较,date类型的数据不能和string的数据进行比较。
一开始看到这个问题很纳闷,报错的这个方法只是一个修改的方法,非常简单,也没涉及到比较啥的。
后来终于找到了报错的关键,这个报错的位置是在mapper.xml中。
一般我们在写动态SQL的时候会这样做
<if test="createDate != null and createDate!=''">
create_date=#{createDate},
</if>
createDate 这个字段类型是Date类型的,所以不能这样写
正确的姿势是
<if test="createDate != null">
create_date=#{createDate},
</if>
报错的原因就是 createDate!=’’ 这个地方。
将这个去掉即可