在Spring-boot+Mybatis-plus项目开发中,在引入后@TableField(fill = FieldFill.INSERT) @TableField(fill = FieldFill.UPDATE) 这个两个注解后,可以实现数据库的创建时间和更新时间自动添加,当使用这两个注解时,需要手动配置并实现 MetaObjectHandler类。
具体配置代码如下:
public class User { @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; }
package com.zhooqi.config.mybatis; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; import java.time.LocalDateTime; @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); this.strictInsertFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); } @Override public void updateFill(MetaObject metaObject) { // 更新时填充 updateTime this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); } }