// 实体类
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String username;
// 创建时间字段
@TableField(fill = FieldFill.INSERT)
private Date createTime;
// 更新时间字段
@TableField(fill = FieldFill.UPDATE)
private Date updateTime;
}
// MetaObjectHandler实现类
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.strictInsertFill(metaObject, "createTime", LocalDateTime::now, LocalDateTime.class);
}
@Override
public void updateFill(MetaObject metaObject) {
this.strictUpdateFill(metaObject, "updateTime", LocalDateTime::now, LocalDateTime.class);
}
}
// Mapper接口
public interface UserMapper extends BaseMapper<User> {}
或
@Component
public class MybatisPlusMetaObjectHandler implements MetaObjectHandler {
@Value("${config.tenantId}")
private String tenantId;
@Override
public void insertFill(MetaObject metaObject) {
this.setFieldValByName("active", Constant.YES, metaObject);
this.setFieldValByName("tenantId", tenantId, metaObject);
this.setFieldValByName("createTime", new Date(), metaObject);
this.setFieldValByName("uploadTime", new Date(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updateTime", new Date(), metaObject);
}
}