MyBatis 自動(dòng)更新時(shí)間的方法實(shí)現(xiàn)
1.@TableField 注解
在 Java 編程中,@TableField注解通常與 MyBatis-Plus 框架一起使用,用于指定實(shí)體類字段與數(shù)據(jù)庫(kù)表字段的映射關(guān)系。@TableField注解中的value屬性用于指定數(shù)據(jù)庫(kù)表中的字段名,而fill屬性用于指定字段值的填充策略
2.FieldFill.INSERT
@TableField(value = "create_time", fill = FieldFill.INSERT)這個(gè)注解表示實(shí)體類中有一個(gè)字段與數(shù)據(jù)庫(kù)表中的create_time字段相對(duì)應(yīng)。fill屬性設(shè)置為FieldFill.INSERT,意味著當(dāng)插入新記錄時(shí),這個(gè)字段的值會(huì)被自動(dòng)填充。通常,這用于記錄創(chuàng)建時(shí)間,每次插入新記錄時(shí),自動(dòng)設(shè)置為當(dāng)前時(shí)間。
3.FieldFill.INSERT_UPDATE
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)這個(gè)注解表示實(shí)體類中有一個(gè)字段與數(shù)據(jù)庫(kù)表中的update_time字段相對(duì)應(yīng)。fill屬性設(shè)置為FieldFill.INSERT_UPDATE,意味著這個(gè)字段的值會(huì)在插入新記錄時(shí)被填充,并且在每次記錄更新時(shí)也會(huì)被更新為當(dāng)前時(shí)間。這通常用于記錄最后更新時(shí)間。
4.MyMetaObjectHandler
@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.strictInsertFill(metaObject, "createTime", Date.class, new Date());
this.strictInsertFill(metaObject, "updateTime", Date.class, new Date());
}
@Override
public void updateFill(MetaObject metaObject) {
this.strictUpdateFill(metaObject, "updateTime", Date.class, new Date());
}
}
5.實(shí)體類
@ApiModelProperty("創(chuàng)建時(shí)間")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
@ApiModelProperty("更新時(shí)間")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
6.數(shù)據(jù)庫(kù)
`create_time` timestamp DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間', `update_time` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
到此這篇關(guān)于MyBatis 自動(dòng)更新時(shí)間的幾種方法的文章就介紹到這了,更多相關(guān)MyBatis 自動(dòng)更新時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java阻塞隊(duì)列實(shí)現(xiàn)原理及實(shí)例解析
這篇文章主要介紹了java阻塞隊(duì)列實(shí)現(xiàn)原理及實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
SpringBoot集成JWT的工具類與攔截器實(shí)現(xiàn)方式
這篇文章主要介紹了SpringBoot集成JWT的工具類與攔截器實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
初始JAVA模塊化開發(fā)的超詳細(xì)步驟(適合菜鳥)
這篇文章主要介紹了初始JAVA模塊化開發(fā)的超詳細(xì)步驟,詳細(xì)解釋了模塊描述符的職責(zé)、模塊路徑的概念以及如何使用命令行運(yùn)行模塊化Java程序,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03
@TransactionalEventListener的使用和實(shí)現(xiàn)原理分析
這篇文章主要介紹了@TransactionalEventListener的使用和實(shí)現(xiàn)原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12

