zoukankan      html  css  js  c++  java
  • SpringBoot整合MybatisPlus3.X之逻辑删除(三)

    • pom.xml

      <dependencies>
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter</artifactId>
              </dependency>
              <dependency>
                  <groupId>com.baomidou</groupId>
                  <artifactId>mybatis-plus-boot-starter</artifactId>
                  <version>3.2.0</version>
              </dependency>
              <dependency>
                  <groupId>org.projectlombok</groupId>
                  <artifactId>lombok</artifactId>
              </dependency>
              <dependency>
                  <groupId>com.h2database</groupId>
                  <artifactId>h2</artifactId>
                  <scope>runtime</scope>
              </dependency><!-- for testing -->
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-test</artifactId>
                  <scope>test</scope>
              </dependency>
          </dependencies>
    • 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<User> {
      ​
      }
      ​
    • 数据库脚本

      DELETE FROM user;
      ​
      INSERT INTO user (id, name, age, email) VALUES
      (1, 'Jone', 18, 'test1@baomidou.com'),
      (2, 'Jack', 20, 'test2@baomidou.com'),
      (3, 'Tom', 28, 'test3@baomidou.com'),
      (4, 'Sandy', 21, 'test4@baomidou.com'),
      (5, 'Billie', 24, 'test5@baomidou.com');
      ​
      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<User>().eq("age", 2));
          }
      ​
      }
    • 测试结果,运行部分测试代码(其实底层的是update语句)

  • 相关阅读:
    对es6中Promise和async的理解
    js里面的map、filter、forEach、reduce、for in、for of等遍历方法
    浏览器怎么解析一个hmtl文档
    js获取浏览器版本
    js中的浅复制和深复制
    作为一个程序员,如何调试抓取跳转页面前发送的请求
    escape、unescape、encodeURIComponent、decodeURLComponent
    css超过一定长度显示省略号 强制换行
    gojs去除水印
    版本控制系统svn的超基础使用
  • 原文地址:https://www.cnblogs.com/dalianpai/p/11758952.html
Copyright © 2011-2022 走看看