MybatisPlus中的删除操作

本文介绍了MybatisPlus中的物理删除和逻辑删除操作。物理删除直接从数据库移除记录,而逻辑删除则通过添加deleted字段并更新其值使记录失效。在逻辑删除中,实体类增加deleted属性,配置逻辑删除规则,并在执行删除操作时,实际上执行的是更新操作。经过逻辑删除后,查询时受影响的记录将不再显示。

目录

物理删除与逻辑删除

物理删除

逻辑删除


 

物理删除与逻辑删除

 

物理删除:从数据库中直接移除

逻辑删除:没有真实的被删除掉,通过一个变量让该条记录失效。delete=0 ==>delete = 1

 

 

物理删除

 

    //根据id删除
    @Test
    public void testDeleteById(){
        userMapper.deleteById(1L);
    }

    //根据id批量删除
    @Test
    public void testDeleteBachId(){
        userMapper.deleteBatchIds(Arrays.asList(1L,2L));
    }

    //通过map删除
    @Test
    public void testDeleteMap(){
        HashMap<String,Object> map = new HashMap<>();
        map.put("name","大熊猫1");
        userMapper.deleteByMap(map);
    }

 

 

逻辑删除

 

新增一个deleted字段,设置默认值为0

实体类中增加属性

    @TableLogic
    private Integer deleted;

在config中注册组件

    //注册逻辑删除组件
    @Bean
    public ISqlInjector sqlInjector(){
        return new LogicSqlInjector();
    }

配置逻辑删除规则,0代表不删,1代表删

此时我们执行删除操作,查看日志发现其本质走的是更新

 查看数据库,可以看到第一条记录已经被删除

此时执行查询全部的操作,会发现第一条记录已经查不出来了。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值