说明:MetaObjectHandler接口
是mybatisPlus为我们提供的的一个扩展接口,我们可以利用这个接口在我们插入
或者更新
数据的时候,为一些字段指定默认值
。实现这个需求的方法不止一种,在sql层面也可以做到,在建表的时候也可以指定默认值。
- 在实体类上加入
@tableField注解
public class Role{
@TableId(type = IdType.AUTO)
private Integer id;
private String roleName;
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
- 创建配置类
实现MetaObjectHandler接口
@Log4j2
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
log.info("插入时自动填充...");
this.strictInsertFill(metaObject,"createTime", LocalDateTime.class,LocalDateTime.now(ZoneId.of("Asia/Shanghai")));
}
@Override
public void updateFill(MetaObject metaObject) {
log.info("更新时自动填充...");
this.strictInsertFill(metaObject,"updateTime", LocalDateTime.class,LocalDateTime.now(ZoneId.of("Asia/Shanghai")));
}
}