SpringBoot整合MybatisPlus3.X之逻辑删除(三)

  • pom.xml

    
            
                org.springframework.boot
                spring-boot-starter
            
            
                com.baomidou
                mybatis-plus-boot-starter
                3.2.0
            
            
                org.projectlombok
                lombok
            
            
                com.h2database
                h2
                runtime
            
            
                org.springframework.boot
                spring-boot-starter-test
                test
            
        

     

  • application.yml

    # DataSource Config
    spring:
      datasource:
        driver-class-name: org.h2.Driver
        url: jdbc:h2:tcp://192.168.180.115:19200/~/mem/test
        username: root
        password: test
    ​
    # Logger Config
    logging:
      level:
        com.mp.logicdelete: debug
    mybatis-plus:
      # 扫描 mapper.xml
      mapper-locations: classpath:/mapper/*Mapper.xml
      global-config:
        banner: false
        db-config:
          logic-delete-value: 1 #默认值1
          logic-not-delete-value: 0 #默认值0

     

  • 启动类

    @SpringBootApplication
    @MapperScan("com.mq.logicdelete.mapper")
    public class LogicdeleteApplication {
    ​
        public static void main(String[] args) {
            SpringApplication.run(LogicdeleteApplication.class, args);
        }
    ​
    }
    ​

     

  • 实体类

    @Data
    public class User {
        private Integer id;
        private String name;
        private Integer age;
        private String email;
        @TableLogic
        private Integer isDelete;
    }
     
  • dao层

    public interface UserMapper extends BaseMapper {
    ​
    }
    ​

     

  • 数据库脚本

    DELETE FROM user;
    ​
    INSERT INTO user (id, name, age, email) VALUES
    (1, 'Jone', 18, '[email protected]'),
    (2, 'Jack', 20, '[email protected]'),
    (3, 'Tom', 28, '[email protected]'),
    (4, 'Sandy', 21, '[email protected]'),
    (5, 'Billie', 24, '[email protected]');
    ​
    DROP TABLE IF EXISTS user;
    ​
    CREATE TABLE user
    (
        id BIGINT(20) NOT NULL COMMENT '主键ID',
        name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
        age INT(11) NULL DEFAULT NULL COMMENT '年龄',
        email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
        is_delete INT(11) NOT NULL DEFAULT 0 COMMENT '是否删除',
        PRIMARY KEY (id)
    );

     

  • 测试类

    @RunWith(SpringRunner.class)
    @SpringBootTest
    class LogicdeleteApplicationTests {
    ​
        @Resource
        private UserMapper userMapper;
    ​
        @Test
        public void testLogicDeleteById() {
            userMapper.deleteById(1);
        }
    ​
        @Test
        public void testLogicDeleteBatchIds() {
            userMapper.deleteBatchIds(Arrays.asList(1, 2, 3));
        }
    ​
        @Test
        public void testLogicDelete() {
            userMapper.delete(new QueryWrapper().eq("age", 2));
        }
    ​
    }

     

  • 测试结果,运行部分测试代码(其实底层的是update语句)

    SpringBoot整合MybatisPlus3.X之逻辑删除(三)_第1张图片

你可能感兴趣的:(SpringBoot整合MybatisPlus3.X之逻辑删除(三))