使用mybatis执行查询时抛出invalid comparison: java.util.Date and java.lang.String异常

用mybatis执行查询时报错: invalid comparison: java.util.Date and java.lang.String

原代码如下:

<if test="startDate != null and startDate != '' and endDate!= null and endDate!= ''">
      AND cft.send_order_time BETWEEN #{startDate} AND #{endDate}
</if>
  • 过程: 起初我以为原因在于参数的参数格式不对, 不是日期而是字符串类型. 就将参数转化为date格式: #{startDate}:date
    结果还是不行(其实就是日期格式, 我当时不知道为什么所以就试试).
  • 解决: 后来才发现原来问题出在的 test里 startDate != '', 把这个去掉即可(因为我参数进来的时候的类型就是日期类型)
原文地址:https://www.cnblogs.com/qds1401744017/p/13800961.html