zoukankan      html  css  js  c++  java
  • 【明哥报错簿】之 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定义时间

     
    ----------返回前台的string进行格式化显示----------------
     
    ---------------------------------------------
     
     插入时:
     
    service里面:
     
     
    在model实体类里面deliverdate和insdate可以定义为string或者Date,这个不重要,根据jsp的回显需要选择,主要的是在service进行map的put时,要转换为timestamp格式,因为数据库postgresql里面的是表字段是timestamp格式
  • 相关阅读:
    C++防止头文件反复包括
    yppasswd, ypchfn, ypchsh
    yes
    Yacc
    xxd
    xpdf -Portable Document Format(PDF)文件阅读器
    xinetd
    xargs
    x25, PF_X25
    write -在一个文件描述符上执行写操作
  • 原文地址:https://www.cnblogs.com/dflmg/p/6641168.html
Copyright © 2011-2022 走看看