最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

  `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有一個擴展功能:自動填充。

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

通過實現(xiàn)MetaObjectHandler接口,重寫insertFillupdateFill方法,當(dāng)我們插入和修改數(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)文章

  • Spring中ResponseBodyAdvice的使用詳解

    Spring中ResponseBodyAdvice的使用詳解

    這篇文章主要介紹了Spring中ResponseBodyAdvice的使用,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • idea插件之mybatis log plugin控制臺sql的問題

    idea插件之mybatis log plugin控制臺sql的問題

    這篇文章主要介紹了idea插件之mybatis log plugin控制臺sql,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Spring boot中filter類不能注入@Autowired變量問題

    Spring boot中filter類不能注入@Autowired變量問題

    這篇文章主要介紹了Spring boot中filter類不能注入@Autowired變量問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java中JSON字符串反序列化(動態(tài)泛型)

    Java中JSON字符串反序列化(動態(tài)泛型)

    文章討論了在定時任務(wù)中使用反射調(diào)用目標(biāo)對象時處理動態(tài)參數(shù)的問題,通過將方法參數(shù)存儲為JSON字符串并進行反序列化,可以實現(xiàn)動態(tài)調(diào)用,然而,這種方式容易導(dǎo)致內(nèi)存溢出(OOM),這篇文章主要介紹了JSON字符串反序列化?動態(tài)泛型,需要的朋友可以參考下
    2024-12-12
  • SpringBoot配置的加載流程詳細(xì)分析

    SpringBoot配置的加載流程詳細(xì)分析

    了解內(nèi)部原理是為了幫助我們做擴展,同時也是驗證了一個人的學(xué)習(xí)能力,如果你想讓自己的職業(yè)道路更上一層樓,這些底層的東西你是必須要會的,這篇文章主要介紹了SpringBoot配置的加載流程
    2023-01-01
  • java動態(tài)規(guī)劃算法——硬幣找零問題實例分析

    java動態(tài)規(guī)劃算法——硬幣找零問題實例分析

    這篇文章主要介紹了java動態(tài)規(guī)劃算法——硬幣找零問題,結(jié)合實例形式分析了java動態(tài)規(guī)劃算法——硬幣找零問題相關(guān)原理、實現(xiàn)方法與操作注意事項,需要的朋友可以參考下
    2020-05-05
  • logback 實現(xiàn)給變量指定默認(rèn)值

    logback 實現(xiàn)給變量指定默認(rèn)值

    這篇文章主要介紹了logback 實現(xiàn)給變量指定默認(rèn)值操作,具有很好的參考家價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Thymeleaf對象的使用之基本對象實例解析

    Thymeleaf對象的使用之基本對象實例解析

    這篇文章主要介紹了Thymeleaf對象的使用之基本對象實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • 淺談Java操作符與其優(yōu)先級

    淺談Java操作符與其優(yōu)先級

    這篇文章主要介紹了淺談Java操作符與其優(yōu)先級,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • 公共POI導(dǎo)出Excel方法詳解

    公共POI導(dǎo)出Excel方法詳解

    這篇文章主要介紹了公共POI導(dǎo)出Excel方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評論

潍坊市| 桑日县| 施甸县| 株洲市| 宁南县| 社旗县| 彝良县| 宿州市| 常熟市| 枣强县| 清远市| 尚义县| 锦屏县| 石台县| 新晃| 济南市| 凉城县| 隆子县| 蒙城县| 平利县| 甘孜| 桐柏县| 璧山县| 湾仔区| 崇仁县| 驻马店市| 菏泽市| 廉江市| 定结县| 泸西县| 美姑县| 万盛区| 都匀市| 龙海市| 蛟河市| 滦平县| 双峰县| 土默特左旗| 屏边| 灵川县| 道真|