mybatisplus自動填充屬性值的實現(xiàn)步驟
MetaObjectHandler: 是mybatisplus提供的一個接口,這個接口定義了在執(zhí)行插入和更新操作的時候的回調(diào)方法,允許你自定義實體對象的一些屬性值,比如: createTime,createBy,updateTime,updateBy 等
他有兩個核心方法:
insertFill: 在執(zhí)行插入操作時,,用于填充實體對象的默認值,,標記了@TableField(fill=FieldFill.INSERT)的字段就會被填充updateFill:在執(zhí)行更新操作時調(diào)用,用于填充實體對象的默認值
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "cc_user")
public class User {
private Integer id;
private String username;
@TableField(fill = FieldFill.INSERT)
private String createBy;
private String updateBy;
private Date createTime;
private Date updateTime;
}
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
System.out.println("插入填充方法被調(diào)用");
this.setFieldValByName("createBy","waterkid",metaObject);
this.setFieldValByName("updateBy","cc",metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
System.out.println("插入填充方法被調(diào)用");
this.setFieldValByName("createBy","waterkid",metaObject);
this.setFieldValByName("updateBy","cc",metaObject);
}
}
測試:
@Test
void contextLoads() {
int hehe = userMapper.insert(User.builder().username("hehe").build());
}到此這篇關于mybatisplus自動填充屬性值的實現(xiàn)步驟的文章就介紹到這了,更多相關mybatisplus自動填充屬性值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java程序開發(fā)中abstract 和 interface的區(qū)別詳解
abstract class和interface在Java語言中都是用來進行抽象類。但是兩者有什么區(qū)別呢,接下來小編給大家?guī)砹薬bstract 和 interface的區(qū)別詳解,感興趣的朋友一起學習吧2016-06-06
java中synchronized Lock(本地同步)鎖的8種情況
本文主要介紹了java中synchronized Lock(本地同步)鎖的8種情況,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
SpringSecurity oAuth2.0的四種模式(小結)
本文主要介紹了SpringSecurity oAuth2.0的四種模式,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
詳解Java Callable接口實現(xiàn)多線程的方式
這篇文章主要介紹了詳解Java Callable接口實現(xiàn)多線程的方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
List集合中對數(shù)據(jù)實現(xiàn)多重規(guī)則進行排序的案例
今天小編就為大家分享一篇關于List集合中對數(shù)據(jù)實現(xiàn)多重規(guī)則進行排序的案例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12

