mybatisplus----CRUD操作之删除操作(逻辑删除)


删除操作:

基本的删除操作;

 

    @Test//根据id删除单个
    void testDeletebyId(){
        userMapper.deleteById("1327089990215172099");
    }
    @Test//根据多个id删除多个数据
    void testDeletebyArry(){
        userMapper.deleteBatchIds(Arrays.asList(1327089990215172098L,1327089990215172097L));
    }
    @Test//根据map条件删除
    void testDeletebyMap(){
        HashMap<String,Object> map=new HashMap<>();
        map.put("id",1327089590540029953L);
        userMapper.deleteByMap(map);
    }

 

 

 

我们在工组中会遇到一些问题:逻辑删除!

 

逻辑删除

我们先来看一下物理删除和逻辑删除的概念:
物理删除从数据库中直接移除
逻辑删除再数据库中没有被移除,而是通过一个变量来让他失效!deleted =0=> deleted =1

实例:管理员可以查看被删除的记录!防止数据的丢失,类似于回收站!

 

 

 

测试步骤:

1在数据表中增加一个deleted字段:

 

 

2,在pojo实体类中添加相应的字段:

  @TableLogic//逻辑删除注解
    private Integer deleted;

 

 3.配置类中添加组件

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

 

 

 

#配置逻辑删除
mybatis-plus.global-config.db-config.logic-delete-value=1
mybatis-plus.global-config.db-config.logic-not-delete-value=0

 

 

 测试删除之后:

 

 

 

 

当我们执行查询操作的时候:

 

 

我们的查询条件都会有deleted=0的判断,所以被我们逻辑删除的记录是不同查询到的

 

 

 

可以看出其实id为1的记录并没有真正的删除,只是deleted字段修改成了1;

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM