关于mybatis异常 invalid comparison: java.util.Date and java.lang.String 的解决方法
1
报错信息:如下图
网上查了很多大家的解决方法,发现总没有一个可以解决自己的问题的,花费了好久终于发现原来是mybatis的版本问题。
2
原因:
在mybatis 3.3.0,对于时间参数进行比较时的一个bug. 如果拿传入的时间类型参数与空字符串’'进行对比判断则会引发异常. 所以在上面的代码中去该该判断, 只保留非空判断就可以了。
3
解决方法:
在mapper.xml中去掉对于字符串为空的判读 即:去掉 字段名 != ''的判断
错误的mapper文件如下:
修改后,正确的mapper文件:
完美解决!!