表
@Getter
@Setter
@ToString
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "tb_brand")
public class Brand implements Serializable {
private static final long serialVersionUID = -7170949725470318638L;
/**
* 品牌编号
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 品牌名称
*/
@TableField(value = "`name`")
private String name;
/**
* 品牌LOGO
*/
@TableField(value = "logo")
private String logo;
/**
* 品牌描述
*/
@TableField(value = "info")
private String info;
/**
* 状态 1上架 2下架
*/
@TableField(value = "`status`")
private Integer status;
/**
* 创建时间
*/
@TableField(value = "create_time",fill = FieldFill.INSERT)
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField(value = "update_time",fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
}
注:@TableField用来注解填充字段,其fill属性的取值可以是:
@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);
}
@Override
public void updateFill(MetaObject metaObject) {
log.info("start update fill ....");
this.strictUpdateFill(metaObject, "updateTime", () -> LocalDateTime.now(), LocalDateTime.class);
}
}
测试
结果符合预期