逻辑删除(deleted)

物理删除:真实删除,将对应数据从数据库中删除,之后查询不到此条被删除的数据

逻辑删除:假删除,将对应数据中代表是否被删除字段状态修改为“被删除状态”,数据库中仍保留此条数据

步骤

  1)deleted属性上添加@TableLogic

    @TableLogic
    @TableField(fill = FieldFill.INSERT)
    private int deleted;

  2) 使用自动填充功能使新增数据时deleted值为0

    public void insertFill(MetaObject metaObject) {
        this.setFieldValByName("createTime", new Date(), metaObject);
        this.setFieldValByName("updateTime", new Date(), metaObject);
        this.setFieldValByName("version", 1, metaObject);
        this.setFieldValByName("deleted", 0, metaObject);
    }

  3) 注册插件

    @Bean
    public ISqlInjector sqlInjector() {
        return new LogicSqlInjector();
    }

 

相关配置信息(application.properties)

mybatis-plus.global-config.db-config.logic-delete-value=1
mybatis-plus.global-config.db-config.logic-not-delete-value=0

  如果和以上默认一致,则可以不用添加

posted @ 2021-02-28 18:02  樱花葬礼  阅读(738)  评论(0)    收藏  举报