Mybatis Plus 逻辑删除理论与实践

Java后端 专栏收录该内容
78 篇文章 0 订阅

逻辑删除的意思就是只是在逻辑上删除了,在数据库里它还是存在的只是被打上了删除标记。

步骤1: 引入Mybatis Plus 3.3.0 的依赖

       <!--MYBATISPLUS啟動器-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-extension</artifactId>
        </dependency>

 步骤2:逻辑删除配置

# mybatis
mybatis-plus:
    type-aliases-package: com.hieasy.erp.domain
    mapper-locations: classpath:mappers/**/*.xml
    global-config:
        #0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
        id-type: 0
        #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
        field-strategy: 0
        #驼峰下划线转换
        db-column-underline: true
        #刷新mapper 调试神器
        refresh-mapper: true
        #数据库大写下划线转换
        #capital-mode: true
        #逻辑删除配置
        db-config:
            logic-delete-field: delFlag
            logic-delete-value: 1
            logic-not-delete-value: 0

步骤3:实体类


@Data
@TableName("erp_yuangong")
public class Yuangong {

    @TableId(type = IdType.AUTO)
    private Long ygId;      //ID
    private Long tenantId;    //租户ID
    @ApiModelProperty(required = true)
    private String ygdm;  //代码
    @ApiModelProperty(required = true)
    private String ygmc;  //名称
    private String ygpym;   //拼音码
    private String birthday;    //生日
    private String telephone;   //电话
    private String address;     //地址
    private String remark;  //备注

    @TableLogic
    private Integer delFlag;


}

 步骤4:删除操作

    @Override
    public int deleteByIds(String ids) {
        return ygMapper.deleteBatchIds(MyStrUtil.strToLongArr(ids));
    }

逻辑删除配置后,实际执行的是更新操作

 UPDATE  erp_yuangong SET del_flag=1 WHERE yg_id=? AND del_flag=0

查询的时候会自动添加上 del_flag = ?这个条件

   SELECT  * FROM erp_yuangong WHERE yg_id=? AND del_flag=0

验证下结果:

 

 

将 del_flag 改成0之后再查询的结果

   

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值