首页 > 代码库 > mybatis generator Date类型时间丢失

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类型时间丢失