2.1 快速开始
在使用mybatis-plus之前,假设您已经:
- 拥有 Java 开发环境以及相应 IDE
- 熟悉 Spring Boot
- 熟悉 Maven
2.2 创建测试表
--创建库
CREATE DATABASE mybatis_plus_test
--使用库
USE mybatis_plus_test
--创建表
DROP TABLE IF EXISTS student;
CREATE TABLE student
(
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 '邮箱',
gender CHAR(1) NULL DEFAULT NULL COMMENT '性别',
PRIMARY KEY (id)
);
--插入测试数据
INSERT INTO student (id, name, age, email,gender) VALUES
(1, 'Jone', 18, 'Jone@qq.com',1),
(2, 'Jack', 20, 'Jack@qq.com',0),
(3, 'Tom', 28, 'Tom@qq.com',1),
(4, 'Sandy', 21, 'Sandy@qq.com',0),
(5, 'Billie', 24, 'Billie@qq.com',1);
2.3 初始化工程
创建一个空的 Spring Boot 工程。可以使用 Spring Initializer 快速初始化一个 Spring Boot 工程
2.4 配置依赖
引入 Spring Boot Starter 父工程:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.2</version>
<relativePath/>
</parent>
或者是:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
引入mysql、 mybatis-plus、spring-boot-starter-web、spring-boot-starter-test等依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.8</version>
</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>
</dependency>
</dependency>
2.5程序配置
在 application.yml
配置文件中添加 H2 数据库的相关配置:
server:
port: 9090
spring:
application:
name: mbpt
datasource:
# 数据源基本配置
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/mybatis_plus_test
type: com.alibaba.druid.pool.DruidDataSource
在 Spring Boot 启动类中添加 @MapperScan
注解,扫描 Mapper 文件夹:
@Slf4j
@MapperScan(basePackages = "com.demo.case.mapper")
@SpringBootApplication
public class SpringBoot11MybatisPlusApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBoot11MybatisPlusApplication.class, args);
}
}
2.5 创建对应的实体
使用mybatisX或EasyCode生成对应的代码
编写实体类 Student.java
(此处使用了 Lombok 简化代码)
编写 Mapper 类 UserMapper.java
(由于使用插件生成代码,在生成时已自动对应mapper、service)
public interface StudentMapper extends BaseMapper<Student> {
}
2.6 开始使用
@SpringBootTest
class SpringBoot11MybatisPlusApplicationTests {
@Autowired
private StudentMapper studentMapper;
@Test
void contextLoads() {
List<Student> students = studentMapper.selectList(null);
Assert.assertEquals(5, students.size());
students.forEach(System.out::println);
}
}
UserMapper 中的 selectList()
方法的参数为 MP 内置的条件封装器 Wrapper
,所以不填写就是无任何条件(后续还会详解)
控制台输出:
Student(id=1, name=Jone, age=18, email=Jone@qq.com, gender=1)
Student(id=2, name=Jack, age=20, email=Jack@qq.com, gender=0)
Student(id=3, name=Tom, age=28, email=Tom@qq.com, gender=1)
Student(id=4, name=Sandy, age=21, email=Sandy@qq.com, gender=0)
Student(id=5, name=Billie, age=24, email=Billie@qq.com, gender=1)