背景:项目中使用jdk8中的新LocalDateTime去替换以前的Date类型
Date类型太过鸡肋以至于jdk中的很多方法已经被弃用,并且可读向差 ,主要还是可变类,需要开发人员自己考虑线程安全问题。
再看LocalDateTime实在太香:
而且使用fainal 修饰不可变,不用考虑线程安全。
所以想使用在mybits 和mysql 数据库中,
字段对应:
java 实体类中的LocalDateTime对应的是 mysql 表中的DateTime。
使用mybits-genetor生成 LocalDateTime字段:
create_time数据库字段为 DateTime类型,
mybits使用3.4.0版本。
mybits-generator.xml修改对应表的时间字段:
<table tableName="book">
<!-- 自定义 类型转换-->
<generatedKey column="id" sqlStatement="JDBC" identity="true"/>
<columnOverride column="create_time" property="createTime" typeHandler="org.apache.ibatis.type.LocalDateTimeTypeHandler" jdbcType="OTHER" javaType="java.time.LocalDateTime" />
</table>
意思是 book表的 create_time字段对应 实体类中的createTime为LocalDateTime类型。
其他类型对应可以查看官方完档:类处理器 :typeHandlers
https://mybatis.org/mybatis-3/zh/configuration.html#typeHandlers
http://mybatis.org/generator/configreference/xmlconfig.html generator文档
接着运行generator插件,查看结果
生成localDateTime类型的createTime成员变量:
可以使用LocalDateTime了。