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

MybatisPlus自動填充字段的操作

 更新時間:2026年01月14日 09:28:12   作者:小憨憨的牛  
文章介紹了使用MyBatis-Plus的`@TableField`注解和`MetaObjectHandler`接口實現數據庫表中自動填充時間、用戶信息等字段的功能,通過創(chuàng)建一個填充類來實現插入和更新操作時的自動填充

以自動填充時間為例

一般公司項目每個表都會有create_time,update_time,create_userCode,create_userName等字段,用來記錄數據的基本信息。

mybatis-plus的TableField注解就很好的實現了這個功能,不需要每次存數據的時候給這幾個字段賦值,而是自動填充。

1.數據庫字段

2.實體類對應字段

 //增加實現
    @TableField(value = "create_time",fill = FieldFill.INSERT)
    private Date createTime;

    //增加或修改實現
    @TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

@TableField注解

  • value:對應的數據庫字段
  • fill: 填充模式(用于在插入和更新操作時自動填充字段的值 )

3.創(chuàng)建填充類 MyMetaObjectHandler

該類要實現MetaObjectHandler接口,并實現兩個方法,一個記錄保存操作,一個記錄修改操作,在這兩個方法里進行數據的填充。

/**
 * @Author dhp
 * @create 2025-02-24 15:35
 */
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        //根據名字設置屬性值
        this.setFieldValByName("createTime",new Date(),metaObject);
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }
}

4.測試保存操作

  @Test
    void contextLoads() {

        User user = new User();
        user.setUserCode("123");
        user.setUserName("張三");
        user.setAddress("山東濰坊");
        user.setAge(25);
        //不進行手動賦值
//        user.setCreateTime(new Date());
//        user.setUpdateTime(new Date());
        userService.save(user);
    }

5.結果

總結

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

相關文章

  • 快速了解hibernate配置文件與映射文件

    快速了解hibernate配置文件與映射文件

    這篇文章主要介紹了快速了解hibernate配置文件與映射文件,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • 全面解析@InsertProvider執(zhí)行原理

    全面解析@InsertProvider執(zhí)行原理

    這篇文章主要介紹了全面解析@InsertProvider執(zhí)行原理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • SpringBoot中間件ORM框架實現案例詳解(Mybatis)

    SpringBoot中間件ORM框架實現案例詳解(Mybatis)

    這篇文章主要介紹了SpringBoot中間件ORM框架實現案例詳解(Mybatis),本篇文章提煉出mybatis最經典、最精簡、最核心的代碼設計,來實現一個mini-mybatis,從而熟悉并掌握ORM框架的涉及實現,需要的朋友可以參考下
    2023-07-07
  • Java?設計模式以虹貓藍兔的故事講解簡單工廠模式

    Java?設計模式以虹貓藍兔的故事講解簡單工廠模式

    簡單工廠模式是屬于創(chuàng)建型模式,又叫做靜態(tài)工廠方法(Static Factory Method)模式,但不屬于23種GOF設計模式之一。簡單工廠模式是由一個工廠對象決定創(chuàng)建出哪一種產品類的實例。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的一個特殊實現
    2022-03-03
  • java實現簡易局域網聊天功能

    java實現簡易局域網聊天功能

    這篇文章主要為大家詳細介紹了java實現簡易局域網聊天功能,使用UDP模式編寫一個聊天程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Spring Cloud 部署時使用 Kubernetes 作為注冊中心和配置中心的方法

    Spring Cloud 部署時使用 Kubernetes 作為注冊中心和配置中

    Spring Cloud Kubernetes提供了使用Kubernete本地服務的Spring Cloud通用接口實現,這篇文章主要介紹了Spring Cloud 部署時如何使用 Kubernetes 作為注冊中心和配置中心,需要的朋友可以參考下
    2024-05-05
  • java開發(fā)CPU流水線與指令亂序執(zhí)行詳解

    java開發(fā)CPU流水線與指令亂序執(zhí)行詳解

    這篇文章主要為大家介紹了java開發(fā)CPU流水線與指令亂序執(zhí)行詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • idea中導入別人的springboot項目的方法(圖文)

    idea中導入別人的springboot項目的方法(圖文)

    這篇文章主要介紹了idea中導入別人的springboot項目的方法(圖文),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • SpringBoot JSON全局日期格式轉換器實現方式

    SpringBoot JSON全局日期格式轉換器實現方式

    這篇文章主要介紹了SpringBoot JSON全局日期格式轉換器,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • 有關于整體刷新和局部刷新frameset窗口

    有關于整體刷新和局部刷新frameset窗口

    本篇小編為大家介紹有關于整體刷新和局部刷新frameset窗口的方法,希望對有需要的朋友有所幫助。
    2013-04-04

最新評論

潮州市| 桂平市| 巩义市| 新泰市| 神池县| 阿坝县| 磐石市| 清水河县| 闵行区| 青冈县| 德州市| 砚山县| 新竹县| 科技| 宁明县| 海淀区| 茂名市| 寿光市| 眉山市| 缙云县| 宜兰县| 中西区| 五大连池市| 岳池县| 林周县| 赤水市| 营口市| 婺源县| 青海省| 慈利县| 天全县| 潮安县| 怀柔区| 都匀市| 津市市| 花莲市| 贵州省| 泸水县| 临泉县| 洛川县| 额尔古纳市|