MybatisPlus公共字段自動(dòng)注入方法實(shí)現(xiàn)
在pom.xml文件中引入MybatisPlus坐標(biāo)
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>創(chuàng)建MybatisPlusHandler類
說明:通過繼承MybatisPlus中的MetaObjectHandler類,然后重寫insertFill和updateFill方法,通過setFieldValByName()方法設(shè)定公共字段,就可以在進(jìn)行新增和更新操作前,對(duì)方法進(jìn)行攔截
// MybatisPlus 公共字段自動(dòng)填充
@Component
@Slf4j
public class MybatisPlusHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.setFieldValByName("createTime", LocalDateTime.now(), metaObject);
this.setFieldValByName("createUser", BaseContext.getCurrentId(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
this.setFieldValByName("updateUser", BaseContext.getCurrentId(), metaObject);
}
}通過@TableName,@TableField(fill = FieldFill.XX)注解指定目標(biāo)實(shí)體類以及類中的公共字段
說明:新增類型公共字段就使用.INSERT,更新就使用.UPDATE
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("employee")
public class Employee implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
private Long id;
private String username;
private String name;
private String password;
private String phone;
private String sex;
private String idNumber;
private Integer status;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
@TableField(fill = FieldFill.INSERT)
private Long createUser;
@TableField(fill = FieldFill.UPDATE)
private Long updateUser;
}最后在調(diào)用新增或者更新方法時(shí)就能自動(dòng)為公共字段賦值了。
到此這篇關(guān)于MybatisPlus公共字段自動(dòng)注入方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)MybatisPlus公共字段自動(dòng)注入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- IDEA中@Autowired自動(dòng)注入MyBatis?Mapper報(bào)紅警告的幾種解決方法
- MyBatis-Plus如何使用枚舉自動(dòng)關(guān)聯(lián)注入詳解
- springboot多模塊化整合mybatis,mapper自動(dòng)注入失敗問題及解決
- MyBatis-Plus 使用枚舉自動(dòng)關(guān)聯(lián)注入
- MyBatis-Plus通用枚舉自動(dòng)關(guān)聯(lián)注入的實(shí)現(xiàn)
- Mybatis-plus實(shí)現(xiàn)主鍵自增和自動(dòng)注入時(shí)間的示例代碼
- Mybatis MapperScannerConfigurer自動(dòng)掃描Mapper接口生成代理注入到Spring的方法
相關(guān)文章
Jenkins一鍵打包部署SpringBoot應(yīng)用的方法步驟
本文主要介紹了使用Jenkins一鍵打包部署SpringBoot應(yīng)用的方法步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
IDEA配置tomcat的方法、IDEA配置tomcat運(yùn)行web項(xiàng)目詳解
這篇文章主要介紹了IDEA配置tomcat的方法、IDEA配置tomcat運(yùn)行web項(xiàng)目詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
Java JMH常見的基準(zhǔn)測試場景代碼實(shí)例解讀
本文介紹Java JMH性能測試框架,涵蓋方法比較、參數(shù)影響、吞吐量及多線程測試場景,通過@Benchmark、@State、@Param等注解定義基準(zhǔn),結(jié)合預(yù)熱和優(yōu)化處理確保測試結(jié)果準(zhǔn)確可靠2025-08-08
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(10)
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你2021-07-07
Java利用沙箱支付實(shí)現(xiàn)電腦掃碼支付教程
當(dāng)我們制作的項(xiàng)目需要實(shí)現(xiàn)電腦掃碼支付功能時(shí),我們往往會(huì)采用沙箱支付來模擬實(shí)現(xiàn)。本文將主要介紹如何在Java中利用沙箱支付實(shí)現(xiàn)這一功能,需要的可以參考一下2022-01-01
基于javascript實(shí)現(xiàn)獲取最短路徑算法代碼實(shí)例
這篇文章主要介紹了基于javascript實(shí)現(xiàn)獲取最短路徑算法代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02

