欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MybatisPlus自動填充創(chuàng)建(更新)時間問題

 更新時間:2024年09月22日 09:55:37   作者:Java王小怪  
在開發(fā)數(shù)據(jù)庫相關(guān)應用時,手動設置創(chuàng)建和更新時間會導致代碼冗余,MybatisPlus提供了自動填充功能,通過實現(xiàn)MetaObjectHandler接口并重寫insertFill、updateFill方法,可以自動維護創(chuàng)建時間、更新時間等字段,極大簡化了代碼,這不僅提高了開發(fā)效率,也保證了數(shù)據(jù)的可追溯性

MybatisPlus自動填充創(chuàng)建(更新)時間

在大多數(shù)情況下,我們在創(chuàng)建數(shù)據(jù)庫時都會加上創(chuàng)建、更新時間這些字段,為了保證數(shù)據(jù)的可追溯性,當然肯定還是有操作日志記錄表用來做追溯記錄。

開發(fā)中每一次的創(chuàng)建更新都需要手動去設置這一次操作的時間,會有很多的代碼冗余。

  `create_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',
  `create_user` bigint DEFAULT NULL COMMENT '創(chuàng)建人',
  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',
  `update_user` bigint DEFAULT NULL COMMENT '更新人',
  `status` tinyint DEFAULT '1' COMMENT '狀態(tài)(備用)',
  `is_deleted` tinyint DEFAULT '0' COMMENT '邏輯刪除

這個時候,有沒有一種方法可以幫我們自動維護這些字段呢?

在這里的話,不得不提到MybatisPlus的功能強大了。MybatisPlus有一個擴展功能:自動填充。

此功能常見的應用場景為,插入數(shù)據(jù)的時候自動添加創(chuàng)建時間、創(chuàng)建人、修改時間、修改人、刪除標記。

通過實現(xiàn)MetaObjectHandler接口,重寫insertFill、updateFill方法,當我們插入和修改數(shù)據(jù)的時候可以自動添加指定字段的值,這些不就是我們想要的效果嗎?

話不多說,上代碼!

一、實現(xiàn)MetaObjectHandler

@Component
public class MybatisHandler implements MetaObjectHandler {
	@Override
	public void insertFill(MetaObject metaObject) {
		//屬性名
		this.setFieldValByName("createTime", new Date(), metaObject);
		//this.setFieldValByName("createUser", SecureUtil.getUserId(), metaObject);
        //不維護create_user可以不使用這行代碼
	}

	@Override
	public void updateFill(MetaObject metaObject) {
		//屬性名
		this.setFieldValByName("updateTime", new Date(), metaObject);
		//this.setFieldValByName("updateUser", SecureUtil.getUserId(), metaObject);
	}
}

二、使用注解

    /**
	 * 進行新增或者更新操作時
	 * Mybatis自動進行維護時間
	 */
	@TableField(fill= FieldFill.INSERT)
	private Long createUser;

	@TableField(fill=FieldFill.INSERT)
	private Date createTime;

	@TableField(fill=FieldFill.UPDATE)
	private Long updateUser;

	@TableField(fill=FieldFill.UPDATE)
	private Date updateTime;

這樣就可以做到自動維護更新、創(chuàng)建時間啦!

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mybatis 傳參與排序模糊查詢功能實現(xiàn)

    Mybatis 傳參與排序模糊查詢功能實現(xiàn)

    這篇文章主要介紹了Mybatis 傳參與排序模糊查詢功能實現(xiàn),本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2025-04-04
  • 在Spring中使用Knife4j進行API文檔生成與管理的操作方法

    在Spring中使用Knife4j進行API文檔生成與管理的操作方法

    Knife4j 是為Java MVC 框架(如Spring Boot、Spring MVC等)集成 Swagger 生成 API 文檔的增強解決方案,它基于 Swagger 的核心功能,通過定制化的前端界面和一些額外的特性,本文介紹了在Spring中使用Knife4j進行API文檔生成與管理的操作方法,需要的朋友可以參考下
    2024-12-12
  • Spring?Boot常用的參數(shù)驗證技巧和使用方法

    Spring?Boot常用的參數(shù)驗證技巧和使用方法

    Spring Boot是一個使用Java編寫的開源框架,用于快速構(gòu)建基于Spring的應用程序,這篇文章主要介紹了Spring?Boot常用的參數(shù)驗證技巧和使用方法,需要的朋友可以參考下
    2023-09-09
  • Java冒泡排序的定義與實例代碼

    Java冒泡排序的定義與實例代碼

    這篇文章主要給大家介紹了關(guān)于Java冒泡排序的定義與實例的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Java實現(xiàn)的簡單數(shù)字時鐘功能示例

    Java實現(xiàn)的簡單數(shù)字時鐘功能示例

    這篇文章主要介紹了Java實現(xiàn)的簡單數(shù)字時鐘功能,涉及java日期時間及JFrame框架圖形界面操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-02-02
  • 解讀@ResponseBody與@RequestBody注解的用法

    解讀@ResponseBody與@RequestBody注解的用法

    這篇文章主要介紹了Spring MVC中的@ResponseBody和@RequestBody注解的用法,@ResponseBody注解用于將Controller方法的返回對象轉(zhuǎn)換為指定格式(如JSON)并通過Response響應給客戶端,@RequestBody注解用于讀取HTTP請求的內(nèi)容
    2024-11-11
  • java實現(xiàn)斗地主發(fā)牌系統(tǒng)

    java實現(xiàn)斗地主發(fā)牌系統(tǒng)

    這篇文章主要為大家詳細介紹了java實現(xiàn)斗地主發(fā)牌系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Java對象以Hash結(jié)構(gòu)存入Redis詳解

    Java對象以Hash結(jié)構(gòu)存入Redis詳解

    這篇文章主要介紹了Java對象以Hash結(jié)構(gòu)存入Redis詳解,和Java中的對象非常相似,卻不能按照Java對象的結(jié)構(gòu)直接存儲進Redis的hash中,因為Java對象中的field是可以嵌套的,而Redis的Hash結(jié)構(gòu)不支持嵌套結(jié)構(gòu),需要的朋友可以參考下
    2023-08-08
  • Spring cloud 限流的多種方式

    Spring cloud 限流的多種方式

    在頻繁的網(wǎng)絡請求時,服務有時候也會受到很大的壓力,尤其是那種網(wǎng)絡攻擊,非法的。這樣的情形有時候需要作一些限制。本文主要介紹了兩種限流方法,感興趣的可以了解一下
    2021-06-06
  • SpringBoot在生產(chǎn)快速禁用Swagger2的方法步驟

    SpringBoot在生產(chǎn)快速禁用Swagger2的方法步驟

    這篇文章主要介紹了SpringBoot在生產(chǎn)快速禁用Swagger2的方法步驟,使用注解關(guān)閉Swagger2,避免接口重復暴露,非常具有實用價值,需要的朋友可以參考下
    2018-12-12

最新評論