mybatis generator Date类型时间丢失

Posted CodingBoy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis generator Date类型时间丢失相关的知识,希望对你有一定的参考价值。

开篇

本次项目换用了Oracle数据库,讲真,真的不好用,不太喜欢,比较喜欢轻量级的mysql但是不得不说从Oracle的严谨中学到不少好东西。

  <resultMap id="BaseResultMap" type="cn.hlyd.yikang.xyj.domain.DrugRecord" >
    <id column="ID" property="id" jdbcType="VARCHAR" />
    <result column="TS" property="ts" jdbcType="DATE" />
    <result column="USER_ID" property="userId" jdbcType="VARCHAR" />
    <result column="DRUG_ID" property="drugId" jdbcType="VARCHAR" />
    <result column="RECORD_DATE" property="recordDate" jdbcType="DATE" />
    <result column="DR" property="dr" jdbcType="DECIMAL" />
  </resultMap>

但是在插入数据的时候 jdbcType="DATE"会造成数据时间精度丢失。

由于jdbcType="DATE",insert, update这个字段的时候,时分秒(HH:mm:ss) 丢失,应该将DATE改为TIMESTAMP

 

解决方法:

在mybatis-gen.xml 中,修改table属性

 <table tableName="DRUG_RECORD" domainObjectName="DrugRecord">  
    <columnOverride column="RECORD_DATE" jdbcType="TIMESTAMP"/>  
</table>

重新生成Mapper.xml之后即可

以上是关于mybatis generator Date类型时间丢失的主要内容,如果未能解决你的问题,请参考以下文章

generator自动生成mybatis后怎么用

mybatis查询日期时间数据得到long类型数据的问题

MyBatis Generator 源码解读

Oracle数据库使用mybatis的时候,实体类日期为Date类型,mybatis里面定义的是Date类型,插入的时候,时分秒全部是12:00:00问题

Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:generate (default-cli) o

解决mybatis-generator插件,在pom.xml添加时("报红")