SpringBoot +MyBatis +MyBatis Plus

(1)MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

官方网址:https://mybatis.plus/

愿景:成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。

SpringBoot +MyBatis +MyBatis Plus

(2)Mybatis 与 JPA

MyBatis:简单的CRUD需要写sql语句,如果修改项目要修改大量xml,但很灵活

JPAJava Persistence APIJava持久层API)MyBatis plus:通过注解以及接口方法,实现Java持久化功能

SpringBoot +MyBatis +MyBatis Plus

SpringBoot +MyBatis +MyBatis Plus

(3)SpringBoot + Mybatis plus单表Junit测试步骤:

       引入依赖

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.5.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- mybatisPlus 核心库 -->
   
<dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.1.0</version>
    </dependency>
    <!-- 引入阿里数据库连接池 -->
   
<dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.6</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

在application.xml中配置mybatis plus

SpringBoot +MyBatis +MyBatis Plus

数据表

CREATE TABLE `user` (

  `user_id` int(11) NOT NULL AUTO_INCREMENT,

  `user_name` varchar(255) DEFAULT NULL,

  `sex` varchar(255) DEFAULT NULL,

  PRIMARY KEY (`user_id`)

) ENGINE=InnoDB CHARSET=utf8mb4;

实体类

SpringBoot +MyBatis +MyBatis Plus

写mapper接口(继承BaseMapper<T>)

SpringBoot +MyBatis +MyBatis Plus

测试类

SpringBoot +MyBatis +MyBatis Plus

(3)通用service

mybatis-plus 提供两种包含预定义增删改查操作的接口:

com.baomidou.mybatisplus.core.mapper.BaseMapper

com.baomidou.mybatisplus.extension.service.IService

Mybatis-plus提供了2个接口1个类

       BaseMapper<T> 针对dao层的方法封装  CRUD

         IService<M,T> 针对业务逻辑层的封装 需要指定Dao层类和对应的实体类  是在BaseMapper基础上的加强

通用 Service CRUD 封装IService接口,进一步封装 CRUD 采用 get 查询单行 remove 删除 list 查询集合 page 分页 前缀命名方式区分 Mapper 层避免混淆

UserMapper

SpringBoot +MyBatis +MyBatis Plus

UserService

SpringBoot +MyBatis +MyBatis Plus

UserServiceImpl

SpringBoot +MyBatis +MyBatis Plus

测试

SpringBoot +MyBatis +MyBatis Plus