MyBatisPlus使用@TableField注解處理默認填充時間的問題
使用@TableField注解處理默認填充時間的情況
在數(shù)據(jù)庫的表中創(chuàng)建時間,修改時間!這些個操作一般都是自動化完成的,我們不希望手動更新。
阿里巴巴開發(fā)手冊:所有的數(shù)據(jù)庫表:gmt_create,gmt_modified幾乎所有的表都要配置上!而且需要自動化!
1.利用數(shù)據(jù)庫填寫默認時間
在表中新增字段create_time,update_time,給這個字段設置一個current_timestamp時間戳,這樣默認值就是當前時間,但是mysql版本如果過低的話是不支持current_timestamp關鍵字的
如下圖:
2.使用自動填充默認填充插入或更新數(shù)據(jù)庫時
表中牽涉到的時間 編寫處理器類
首先需要編寫一個處理器,如下圖:
注意上面的處理器一定要加上@Component注解表示把此處理器注入到IOC容器中。SpringBoot中無論是處理器包handler還是配置包config都需要把里面的類加上@Component注解表示把類注入到IOC容器中,要不然處理器和配置類不會生效。
給實體類的屬性添加@TableField注解
其次要在對應的實體類上的屬性上加上@TableField注解
如下圖:
測試
最后寫一個單元測試,測試更新或者插入的時候能否實現(xiàn)createTime和updateTime的自動填充操作
如下圖:
測試成功的結果狀態(tài)
數(shù)據(jù)庫中的字段類型要設置成是datetime,添加成功后的數(shù)據(jù)格式
如下圖:
類型設置
數(shù)據(jù)庫中的表中的時間字段create_time和update_time設置成datetime類型,User實體中的createTime和updateTime和處理器中的new Date()所有的時間類型用java.util.Date包中的Date類型。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
第三方包jintellitype實現(xiàn)Java設置全局熱鍵
本文主要介紹了,在java中使用第三方插件包jintellitype來實現(xiàn)全局熱鍵,非常的簡單,但是很實用,有需要的朋友可以參考下,歡迎一起來參與改進此項目2014-09-09Java自帶的Http?Server實現(xiàn)設置返回值的類型(content-type)
這篇文章主要介紹了Java自帶的Http?Server實現(xiàn)設置返回值的類型(content-type),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11MybatisPlus自定義Sql實現(xiàn)多表查詢的示例
這篇文章主要介紹了MybatisPlus自定義Sql實現(xiàn)多表查詢的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08Spring MVC全局異常處理和單元測試_動力節(jié)點Java學院整理
本篇文章主要介紹了Spring MVC全局異常處理和單元測試,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08Java?Web?Axios實現(xiàn)前后端數(shù)據(jù)異步交互實例代碼
Axios作為一個流行的前端?HTTP?通信庫,可以極大地簡化前端與后端之間的數(shù)據(jù)交互,這篇文章主要介紹了Java?Web?Axios實現(xiàn)前后端數(shù)據(jù)異步交互的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-09-09