MybatisPlus实现自动填充(表字段创建、修改时间自动填写)

mysql随机生成id

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    //@TableId(type = IdType.ID_WORKER) //mp自带策略,生成19位值,数字类型使用这种策略,比如long
    //@TableId(type = IdType.ID_WORKER_STR) //mp自带策略,生成19位值,字符串类型使用这种策略
    @TableId(type = IdType.ID_WORKER)
    private Long id;

一、实体类加上注解

    //自动填充
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

二、加上配置类

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    //使用mp实现添加操作,执行此方法
    @Override
    public void insertFill(MetaObject metaObject) {
        this.setFieldValByName("createTime",new Date(),metaObject);
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }

    //使用mp实现修改操作,执行此方式
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }
}

 

MybatisPlus实现自动填充(表字段创建、修改时间自动填写)

上一篇:noip模拟7


下一篇:template 与视图关联