B站(乐哥聊编程)、西瓜(乐哥聊编程) 有完整配套视频,免费观看
前言
在项目开发过程中,我们定义的实体一般都会包含基础字段,如:createTime、updateTime、createBy、updateBy,通常做法就是在更新或插入之前,手动去更新这些字段,但是我们如果使用MyBatisPlus,就不需要手动去写了.
必备注解
代码语言:javascript复制public enum FieldFill {
/**
* 默认不处理
*/
DEFAULT,
/**
* 插入填充字段
*/
INSERT,
/**
* 更新填充字段
*/
UPDATE,
/**
* 插入和更新填充字段
*/
INSERT_UPDATE
}
快速使用
核心配置
代码语言:javascript复制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;
@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
log.info("start insert fill ....");
// 或者
this.strictInsertFill(metaObject, "createTime", () -> LocalDateTime.now(), LocalDateTime.class); // 起始版本 3.3.3(推荐)
}
@Override
public void updateFill(MetaObject metaObject) {
log.info("start update fill ....");
this.strictUpdateFill(metaObject, "updateTime", () -> LocalDateTime.now(), LocalDateTime.class); // 起始版本 3.3.3(推荐)
}
}
具体使用
代码语言:javascript复制 @TableField(fill= FieldFill.INSERT)
private LocalDateTime createTime;
@TableField(fill= FieldFill.UPDATE)
private LocalDateTime updateTime
成长心路 | 优质书单 | 面试资料
牛人故事 | 前沿技术 | 视频教程