使用@TableField 字段的自动填充
1、添加两个注解@TableField(fill = FieldFill.INSERT)
@Data
@TableName("t_user")
public class User {
private Integer id;
private String nickname;
private String username;
private String password;
private String email;
private String avatar;
private int type;
//给需要自动填充的字段添加注解
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
// private List<Blog> blogList = new ArrayList<>();
}
2、创建自定义类FillHandle,并继承MetaObjectHandler ,实现两个方法,并在里面实现自己所需要的内容
@Component
public class FillHandle implements MetaObjectHandler {
//插入时自动填充
@Override
public void insertFill(MetaObject metaObject) {
//实现
this.setFieldValByName("createTime", LocalDateTime.now(), metaObject);
this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
}
//修改时自动填充
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
}
}