一、在数据库表中的操作方法

  1. 当表中的字段是varchar字段时可以这样设置:
    例如我要设置stats(状态这个字段默认为"1"),在创建表的时候sql语句可以这样写
`stats` varchar(1) CHARACTER SET utf8 NOT NULL DEFAULT '1' COMMENT '是否审核(0.已审核,1未审核,2审核不通过)'
  1. 在表的表结构中也可以直接设置

二、使用mybatis-plus对参数值的插入和修改做默认值配置

  1. 首先定义一个实现类,实现MetaObjectHandler 接口,重写insertFill和updateFill方法,在方法里对需要设置的字段进行配置
    注意: 一定要打上 @Component注解注入到容器中
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
 
    @Override
    public void insertFill(MetaObject metaObject) {
        this.strictInsertFill(metaObject, "createTime", Date.class, new Date());
        this.strictInsertFill(metaObject, "updateTime", Date.class, new Date());
    }
 
    @Override
    public void updateFill(MetaObject metaObject) {
        this.strictUpdateFill(metaObject, "updateTime", Date.class, new Date());
    }
}
  1. 在实体类中打上注解,
    FieldFill是一个枚举,用于指定在何种情况下会自动填充,有如下几种可选值:
    DEFAULT:默认不处理
    INSERT:插入时自动填充字段
    UPDATE:更新时自动填充字段
    INSERT_UPDATE:插入和更新时自动填充字段。例如:
@Data
public class User {
   private Long id;
   private String name;
   private Integer age;
   private String email;

   @TableField(fill = FieldFill.INSERT)
   private Date createTime;
   @TableField(fill = FieldFill.INSERT_UPDATE)
   private Date updateTime;
}
  1. 这样一来,在执行新增/修改操作的时候,配置的字段会自动的根据设置的参数进行填充

更多推荐

给数据库表字段设置默认值