背景:項目中使用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了。