mybatis数据库时间保存问题?

在用mybatis时,对mysql数据库是datatime字段添加值是,发现添加成功后查看数据库字段值是,只有年月日有值,时分秒则为0来表示的,更改为java.sql.date,time等也不行,如果将mybatis的映射xml的jdbcType=”DATE”改为=”TIME”,会报异常:
com.mysql.jdbc.MysqlDataTruncation: Data truncation…

解决方法:
对于Ibatis操作Date/Time/DateTime,总结如下:

  1. 将pojo的属性类型设置为java.sql.Date(或java.sql.Time, java.sql.Timestamp),此时会严格遵循这三种类型的语义。但此方法因存在前文中提到的性能问题,在JDK1.6以前的JDK版本中能少使用就少使用。
  2. 如果你想在pojo中使用java.util.Date, 则要注意:

    完整的日期时间,要确保jdbcType为空,或为DATE,TIME以外的值  
    只需要时间,要指定jdbcType=”TIME”  
    只需要日期,要指定jdbcType=”DATE”  
    

end日后再看源码写深入点

猜你喜欢

转载自blog.csdn.net/weixin_36708538/article/details/80558905