Mybatisplus自動填充實現(xiàn)方式及代碼示例
數(shù)據庫表的創(chuàng)建時間、修改時間,這些個操作一遍都是自動化完成的,我們不希望手動更新。這時候自動填充便可以發(fā)揮作用了。
1、方式一
數(shù)據庫級別(注意:不建議此方式,因為工作中不允許你修改數(shù)據庫)
步驟
在表中新增字段create_time, update_time,給字段賦予默認值,在需要更新的字段(update_time)選擇更新
在實體類增加對應屬性
2、方式二
代碼級別,建議使用
步驟
在實體類需要自動填充的屬性上加注解
package com.yl.bean;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* 用戶實體類
*/
@Data
@NoArgsConstructor
public class User implements Serializable {
@TableId(type=IdType.AUTO)
private Integer id;
private String name;
private Integer age;
private String email;
@TableField(fill = FieldFill.INSERT )//插入數(shù)據時更新該字段
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)//插入和修改時更新該字段
private Date updateTime;
}
注意:數(shù)據庫要有對應字段,不會自動給你生成字段
編寫處理器來處理自動填充注解
package com.yl.handler;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 自動填充處理器實現(xiàn)類
*/
@Slf4j//配置日志輸出,也可以不配置
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
/**
* 插入元對象字段填充(用于插入時對公共字段的填充)
*
* @param metaObject 元對象
*/
@Override
public void insertFill(MetaObject metaObject) {
//日志輸出
log.info("start insert fill.....");
//字段填充
this.setFieldValByName("createTime",new Date(),metaObject);
this.setFieldValByName("updateTime",new Date(),metaObject);
}
/**
* 更新元對象字段填充(用于更新時對公共字段的填充)
*
* @param metaObject 元對象
*/
@Override
public void updateFill(MetaObject metaObject) {
//日志輸出
log.info("start update fill.....");
//字段填充
this.setFieldValByName("updateTime",new Date(),metaObject);
}
}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Elasticsearch算分優(yōu)化方案之rescore_query示例詳解
這篇文章主要為大家介紹了Elasticsearch算分優(yōu)化方案之rescore_query示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08
SpringBoot多數(shù)據源讀寫分離的自定義配置問題及解決方法
這篇文章主要介紹了SpringBoot多數(shù)據源讀寫分離的自定義配置,我們可以通過自定義配置數(shù)據庫配置類來解決這個問題,方式有很多,不同的業(yè)務采用的方式也不同,下面我簡單的介紹我們項目的使用的方法2022-06-06
java圖像識別工具類(ImageRecognitionUtils)使用實例詳解
這篇文章主要介紹了如何在Java中使用OpenCV進行圖像識別,包括圖像加載、預處理、分類、人臉檢測和特征提取等步驟,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2025-01-01
IDEA 單元測試創(chuàng)建方法詳解(2020.03版本親測)
這篇文章主要介紹了IDEA 單元測試創(chuàng)建方法詳解(2020.03版本親測),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10

