SpringBoot整合Mybatis-Plus以及简单使用

209 阅读1分钟

Mybaits-Plus简介

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

MySql数据初始化

  1. init.sql
CREATE TABLE IF NOT EXISTS t_sys_user (
	id BIGINT PRIMARY KEY auto_increment COMMENT '主键ID',
	NAME VARCHAR (30) NOT NULL COMMENT '姓名',
	age INT (2) COMMENT '年龄',
	email VARCHAR (60) COMMENT '邮箱'
) ENGINE = INNODB DEFAULT CHARSET = utf8;
  1. data.sql
-- 插入初始数据
INSERT INTO t_sys_user (NAME, age, email)
VALUES
	('张三',20,'zhangsan@163.com'),
	('李四', 46, 'lisi@189.com'),
	('王五',32,'wangwu@163.com'),
	('赵六',66,'zhangliu@qq.com');

整合步骤

  1. 初始化一个SpringBoot的工程
  2. 添加Mybaits-Plus以及其他基础依赖
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <!-- 添加Mybatis Plus的Maven依赖-->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.0</version>
    </dependency>
    <!--添加lombok依赖-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <!--添加Mysql依赖-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <!--<version>5.1.6</version>-->
    </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>
</dependencies>
  1. 配置数据源(application.yaml)
server:
  port: 8600

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf-8&serverTimezone=UTC
    username: root
    password: root
    schema:
      - classpath:sql/init.sql
    data:
      - classpath:sql/data.sql
    initialization-mode: always 
    continue-on-error: true
  1. 在启动类中添加@MapperSacn注解
/**
 * @注释: 启动类
 * @PageName: com.example.AppStarter.java
 * @Author: Mr_xu
 * @CreateTime: 2020/9/27 14:37
 */
@SpringBootApplication
@MapperScan(basePackages = {"com.example.dao"})
public class AppStarter {
    public static void main(String[] args) {
        SpringApplication.run(AppStarter.class, args);
    }
}
  1. 编写实体类SysUserDto.java
@Data
@TableName(value = "T_SYS_USER")
public class SysUserDto {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}
  1. 编写SysUserDao.java
public interface SysUserDao extends BaseMapper<SysUserDto> {
}
  1. 编写测试用例
@SpringBootTest
class AppStarterTests {

    @Autowired
    private SysUserDao sysUserDao;

    @Test
    void test() {
        List<SysUserDto> list = sysUserDao.selectList(null);
        list.forEach(System.out::println);
    }

}

至此简单整合已经完成,执行案例获得输出

SysUserDto(id=1, name=张三, age=20, email=zhangsan@163.com)
SysUserDto(id=2, name=李四, age=46, email=lisi@189.com)
SysUserDto(id=3, name=王五, age=32, email=wangwu@163.com)
SysUserDto(id=4, name=赵六, age=66, email=zhangliu@qq.com)