【明哥报错簿】之 mybatis异常invalid comparison: java.util.Date and java.lang.String
背景:数据库为 postgresql,表字段属性为 timestamp 格式
原因是 mybatis 3.3.0 中对于时间参数进行比较时的一个 bug. 如果拿传入的时间类型参数与空字符串 '' 进行对比判断则会引发异常. 所以在上面的代码中去该该判断, 只保留非空判断就正常了
-------------------------------------------- 之前的 mapper 里面进行了非 null 和非空验证,要去掉非空验证!
前台 jsp 传入后台的时间为 string,在 service 里将 string 转为 timestamp,
----------------------------------------------------------------------------------------------------------------------------------------------------------------
在 mapper 里面提取可以用 date 或者 timestamp——#{date,jdbcType=DATE/TIMESTAMP}
查询出的数据在 resultMap 里进行映射,可以用 string 的 VARCHAR 映射
----------------------------------------------------------------------------------------------------------------------------------
实体类也用 string 定义时间