mybatis-plus 自动填充公共字段
直接上代码
- 首先我们要实现mybatis-plus的MetaObjectHandler接口,代码如下:
@Slf4j
@Configuration
public class MetaObjectConfig implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
/**
* 这里可以自定义你想要填充什么字段的属性
*/
log.info("insertFill Wecome");
this.strictInsertFill(metaObject,"字段名对应你的实体类的字段名",String.class,"Value");
this.strictInsertFill(metaObject,"字段名对应你的实体类的字段名", LocalDateTime.class,LocalDateTime.now());
}
@Override
public void updateFill(MetaObject metaObject) {
}
}
- 实体类
@Data
@TableName("t_user")
public class User {
@TableId(type = IdType.AUTO)
private Integer id;
@TableField("user_name")
private String username;
@TableField("pass_word")
private String password;
/**
* 如果要实现自动填充则加上
* fill = FieldFill.INSERT新增时自动填充
* fill = fill = FieldFill.INSERT_UPDATE新增和修改都自动填充
* fill = FieldFill.DEFAULT 删除时自动填充
*/
@TableField(value = "crate_date",fill = FieldFill.INSERT)
private LocalDateTime createDate; //新增时间
@TableField(value = "up_name",fill = FieldFill.UPDATE)
private String upName; //更新人
// ...................
}