当前位置:   article > 正文

【明哥报错簿】之 mybatis异常invalid comparison: java.util.Date and java.lang.String

java.util.date and java.lang.string\r\n\tat org.mybatis.spring.mybatisexcept

背景:数据库为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定义时间

 
----------返回前台的string进行格式化显示----------------
 
---------------------------------------------
 
 插入时:
 
service里面:
 
 
在model实体类里面deliverdate和insdate可以定义为string或者Date,这个不重要,根据jsp的回显需要选择,主要的是在service进行map的put时,要转换为timestamp格式,因为数据库postgresql里面的是表字段是timestamp格式

转载于:https://www.cnblogs.com/dflmg/p/6641168.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/214116
推荐阅读
相关标签
  

闽ICP备14008679号