MP公共填充字段
1.首先是在实体类中,使用@TableField注解指定自动生成的策略
java
private Integer status;
@TableField(fill = FieldFill.INSERT)//插入时,填充字段
private LocalDateTime createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)//插入或更新时,填充字段
private LocalDateTime updateTime;
@TableField(fill = FieldFill.INSERT)//插入时,填充字段
private Long createUser;
@TableField(fill = FieldFill.INSERT_UPDATE)////插入或更新时,填充字段
private Long updateUser;
JAVA 复制 全屏
2.编写元数据对象处理器,当事件发生时做什么操作
java
package com.hxut.common;
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.time.LocalDateTime;
/**
* description: MyMetaObjectHandler 插入时,处理元数据的配置
* date: 2022/6/24 10:27
* author: MR.孙
*/
@SuppressWarnings("all")
@Component
@Slf4j
public class MyMetaObjectHandler implements MetaObjectHandler {
/**
* @description: 插入时,填充操作
* @param metaObject
* @return: void
* @author: MR.孙
* @date: 2022/6/24 10:32
*/
@Override
public void insertFill(MetaObject metaObject) {
log.info("公共字段填充[insert]...");
log.info(metaObject.toString());
metaObject.setValue("createTime", LocalDateTime.now());
metaObject.setValue("updateTime", LocalDateTime.now());
metaObject.setValue("createUser", new Long(1));
metaObject.setValue("updateUser", new Long(1));
}
/**
* @description: 更新时,自动填充操作
* @param metaObject
* @return: void
* @author: MR.孙
* @date: 2022/6/24 10:32
*/
@Override
public void updateFill(MetaObject metaObject) {
log.info("公共字段填充[update]...");
log.info(metaObject.toString());
metaObject.setValue("updateTime", LocalDateTime.now());
metaObject.setValue("updateUser", new Long(1));
}
}
转载自:
- 本文作者: 长情
- 本文链接: https://www.cnblogs.com/cn-mrs/articles/16408068.html
- 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
- 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。

浙公网安备 33010602011771号