Mybatis执行一个select sql时,抛出invalid comparison: java.util.Date and java.lang.String。
字面意思其实很明显,Data和String类型不匹配。
但是仔细查看了Pojo以及jdbcType的类型,都是时间类型,没有错误。
重新编译后依旧报错。
后经过查看mybatis标签,发现其中TimeStamp类型的变量出现以下标签:
<if test="applyTimeStart!=null" and applyTimeStart != ''>
cpconfig.apply_time >= DATE(#{applyTimeStart})
</if>
此标签中出现了 applyTimeStart !='' 的表达式,这里就相当于date与string比较,所以mybatis抛出 invalid comparison: java.util.Date and java.lang.String。
去掉该表达式后问题即解决。