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

2、配置自動(dòng)填充 攔截器


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

4、自動(dòng)填充 攔截器
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 {//實(shí)現(xiàn)MetaObjectHandler
//配置自動(dòng)填充 攔截器
//insert操作時(shí)填充方法
@Override
public void insertFill(MetaObject metaObject) {
Long userId = null;
// try {
userId = SecurityUtils.getUserId(); //從token中拿到userid,自動(dòng)填充
// } catch (Exception e) { e.printStackTrace();
// 注冊的時(shí)候,不能獲取當(dāng)前userid,所以userid設(shè)置為-1
// userId = -1L;//表示是自己創(chuàng)建
// }
this.setFieldValByName("createTime", new Date(), metaObject); //創(chuàng)建時(shí)間
this.setFieldValByName("createBy",userId , metaObject); //創(chuàng)建人
this.setFieldValByName("updateTime", new Date(), metaObject); //更新時(shí)間
this.setFieldValByName("updateBy", userId, metaObject); //更新人
}
//update操作時(shí)填充方法
@Override
public void updateFill(MetaObject metaObject) { //填充 更新時(shí)間
this.setFieldValByName("updateTime", new Date(), metaObject);
// this.setFieldValByName(" ", SecurityUtils.getUserId(), metaObject);
}
}
實(shí)體類
@TableField(fill = FieldFill.INSERT) //插入時(shí) 自動(dòng)添加創(chuàng)建人
private Long createBy;
@TableField(fill = FieldFill.INSERT) //插入時(shí) 自動(dòng)添加 創(chuàng)建時(shí)間
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE) //插入更新時(shí) 自動(dòng)添加 更新人
private Long updateBy;
@TableField(fill = FieldFill.INSERT_UPDATE) //插入更新時(shí) 自動(dòng)添加 更新時(shí)間
private Date updateTime;到此這篇關(guān)于mybatisplus實(shí)現(xiàn)自動(dòng)填充時(shí)間的項(xiàng)目實(shí)踐的文章就介紹到這了,更多相關(guān)mybatisplus 自動(dòng)填充時(shí)間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MybatisPlus自動(dòng)填充時(shí)間的配置類實(shí)現(xiàn)
- MyBatisPlus實(shí)現(xiàn)自動(dòng)填充字段的實(shí)踐
- MybatisPlus自動(dòng)填充創(chuàng)建(更新)時(shí)間問題
- mybatisplus自動(dòng)填充屬性值的實(shí)現(xiàn)步驟
- mybatisPlus自動(dòng)填充更新時(shí)間的示例代碼
- Mybatisplus自動(dòng)填充實(shí)現(xiàn)方式及代碼示例
- MybatisPlus 自動(dòng)填充的實(shí)現(xiàn)
- MybatisPlus字段自動(dòng)填充&樂觀鎖的方法實(shí)現(xiàn)
相關(guān)文章
詳解IDEA JUnit5測試套件運(yùn)行錯(cuò)誤的問題
這篇文章主要介紹了詳解IDEA JUnit5測試套件運(yùn)行錯(cuò)誤的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Java?MapStruct優(yōu)雅地實(shí)現(xiàn)對象轉(zhuǎn)換
MapSturct?是一個(gè)生成類型安全,高性能且無依賴的?JavaBean?映射代碼的注解處理器,用它可以輕松實(shí)現(xiàn)對象轉(zhuǎn)換,下面就來和大家聊聊具體操作吧2023-06-06
java基礎(chǔ)理論Stream的Filter與謂詞邏輯
這篇文章主要為大家介紹了java基礎(chǔ)理論Stream的Filter與謂詞邏輯,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
Java實(shí)現(xiàn)RTF轉(zhuǎn)Word的完整指南
在企業(yè)辦公自動(dòng)化、文檔管理系統(tǒng)以及跨平臺應(yīng)用中,文檔格式的兼容性問題一直是開發(fā)者面臨的常見挑戰(zhàn),在實(shí)際開發(fā)中,如何在 Java 環(huán)境下高效地將 RTF 文檔轉(zhuǎn)換為 Word 文檔是開發(fā)者經(jīng)常遇到的需求,本文將介紹如何使用Java將RTF轉(zhuǎn)換為Word,需要的朋友可以參考下2025-12-12

