在重构项目的时候,遇到了mybatis的一个异常:
java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
随后在网上查询解决方法时看到,这个是mybatis在3.3.0版本修复的一个bug,3.3.0之前是没有问题,之后就会报异常。
原因是:
对于时间参数进行比较时的一个bug. 如果拿传入的时间类型参数与空字符串''进行对比判断则会引发异常。
<if test="publishTimeStart != null and publishTimeStart != ''">
所以比较的时候去掉比较'',只比较null就可以了。