• 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;

    迎风少年
  • 相关阅读:
    pip安装报错 解决办法
    django admin 支持时间更改
    fiddler抓包工具
    session token两种登陆方式
    面向对象内置方法
    linux 命令
    flask
    celery
    mac添加redis 环境变量
    Django请求流程图
  • 原文地址:https://www.cnblogs.com/ZYH-coder0927/p/13970148.html
Copyright © 2020-2023  润新知