首页 > 其他 > 详细

逻辑删除(deleted)

时间:2021-02-28 21:50:46      阅读:63      评论:0      收藏:0      [点我收藏+]

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

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

步骤

  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

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

逻辑删除(deleted)

原文:https://www.cnblogs.com/pikachu511/p/14459903.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!