mybatisplus實現(xiàn)自動填充時間的項目實踐
數(shù)據(jù)庫表中的字段
- 創(chuàng)建時間 (createTime)
- 更新時間 (updateTime)
每次 增刪改查的時候,需要通過對Entity的字段(createTime,updateTime)進(jìn)行set設(shè)置,但是,每次增刪改 都要set設(shè)置比較麻煩。
- 使用自動填充功能,就不用我們自己set了。
1、在實體類Entity中 添加注解
- @TableField(fill = FieldFill.INSERT) //插入時自動填充
- @TableField(fill = FieldFill.INSERT_UPDATE) // 插入 和 更新時 自動填充

2、配置自動填充 攔截器


3、數(shù)據(jù)庫表中 創(chuàng)建時間,更新時間,創(chuàng)建人,更新人 字段名。

4、自動填充 攔截器
MyMetaObjectHandler
package com.sangeng.handler.mybatisplus;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.sangeng.utils.SecurityUtils;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.util.Date;
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {//實現(xiàn)MetaObjectHandler
//配置自動填充 攔截器
//insert操作時填充方法
@Override
public void insertFill(MetaObject metaObject) {
Long userId = null;
// try {
userId = SecurityUtils.getUserId(); //從token中拿到userid,自動填充
// } catch (Exception e) { e.printStackTrace();
// 注冊的時候,不能獲取當(dāng)前userid,所以userid設(shè)置為-1
// userId = -1L;//表示是自己創(chuàng)建
// }
this.setFieldValByName("createTime", new Date(), metaObject); //創(chuàng)建時間
this.setFieldValByName("createBy",userId , metaObject); //創(chuàng)建人
this.setFieldValByName("updateTime", new Date(), metaObject); //更新時間
this.setFieldValByName("updateBy", userId, metaObject); //更新人
}
//update操作時填充方法
@Override
public void updateFill(MetaObject metaObject) { //填充 更新時間
this.setFieldValByName("updateTime", new Date(), metaObject);
// this.setFieldValByName(" ", SecurityUtils.getUserId(), metaObject);
}
}
實體類
@TableField(fill = FieldFill.INSERT) //插入時 自動添加創(chuàng)建人
private Long createBy;
@TableField(fill = FieldFill.INSERT) //插入時 自動添加 創(chuàng)建時間
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE) //插入更新時 自動添加 更新人
private Long updateBy;
@TableField(fill = FieldFill.INSERT_UPDATE) //插入更新時 自動添加 更新時間
private Date updateTime;到此這篇關(guān)于mybatisplus實現(xiàn)自動填充時間的項目實踐的文章就介紹到這了,更多相關(guān)mybatisplus 自動填充時間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot中@ConfigurationProperties輕松管理應(yīng)用程序的配置信息詳解
通過@ConfigurationProperties注解,可以將外部配置文件中的屬性值注入到JavaBean中,簡化了配置屬性的讀取和管理,這使得SpringBoot應(yīng)用程序中配置文件的屬性值可以映射到POJO類中,實現(xiàn)類型安全的屬性訪問,此方法避免了手動讀取配置文件屬性的需要2024-10-10
SpringBoot后端服務(wù)重定向的實現(xiàn)示例
本文主要介紹了SpringBoot后端服務(wù)重定向的實現(xiàn)示例,通過重定向、路徑匹配、反向代理和直接調(diào)用Controller層接口等方法來實現(xiàn),感興趣的可以了解一下2025-01-01

