MyBatis-Plus入门教程 MyBatis-Plus 快速入门-快速开始

2024-02-25 开发教程 MyBatis-Plus入门教程 匿名 9

我们将通过一个简单的 Demo 来阐述 MyBatis-Plus 的强大功能,在此之前,我们假设您已经:

  • 拥有 ​Java ​开发环境以及相应 IDE
  • 熟悉 ​Spring Boot
  • 熟悉 ​Maven

现有一张 ​User ​表,其表结构如下:

idnameageemail
1Jone18test1@baomidou.com
2Jack20test2@baomidou.com
3Tom28test3@baomidou.com
4Sandy21test4@baomidou.com
5Billie24test5@baomidou.com

其对应的数据库 ​Schema ​脚本如下:

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 '邮箱',
PRIMARY KEY (id)
);

其对应的数据库 ​Data ​脚本如下:

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');

初始化工程

创建一个空的 Spring Boot 工程(工程将以 H2 作为默认数据库进行演示)

提示:可以使用 Spring Initializer快速初始化一个 Spring Boot 工程

添加依赖

引入 Spring Boot Starter 父工程:

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.4</version>
<relativePath/>
</parent>

引入 ​spring-boot-starter​、​spring-boot-starter-test​、​mybatis-plus-boot-starter​、​h2 ​依赖:

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>

配置

在 ​application.yml​ 配置文件中添加 ​H2 ​数据库的相关配置:

# DataSource Config
spring:
datasource:
driver-class-name: org.h2.Driver
schema: classpath:db/schema-h2.sql
data: classpath:db/data-h2.sql
url: jdbc:h2:mem:test
username: root
password: test

在 Spring Boot 启动类中添加 ​@MapperScan​ 注解,扫描 Mapper 文件夹:

@SpringBootApplication
@MapperScan("com.baomidou.mybatisplus.samples.quickstart.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}

编码

编写实体类 ​User.java​(此处使用了Lombok简化代码)

@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}

编写 Mapper 包下的 ​UserMapper​接口

public interface UserMapper extends BaseMapper<User> {
}

开始使用

添加测试类,进行功能测试:

@SpringBootTest
public class SampleTest {
@Autowired
private UserMapper userMapper;
@Test
public void testSelect() {
System.out.println(("----- selectAll method test ------"));
List<User> userList = userMapper.selectList(null);
Assert.assertEquals(5, userList.size());
userList.forEach(System.out::println);
}
}

提示:​UserMapper中的 ​selectList()​ 方法的参数为 ​MP ​内置的条件封装器 ​Wrapper​,所以不填写就是无任何条件

控制台输出:

User(id=1, name=Jone, age=18, email=test1@baomidou.com)
User(id=2, name=Jack, age=20, email=test2@baomidou.com)
User(id=3, name=Tom, age=28, email=test3@baomidou.com)
User(id=4, name=Sandy, age=21, email=test4@baomidou.com)
User(id=5, name=Billie, age=24, email=test5@baomidou.com)

小结

通过以上几个简单的步骤,我们就实现了 ​User ​表的 ​CRUD​ 功能,甚至连 ​XML ​文件都不用编写!
从以上步骤中,我们可以看到集成​MyBatis-Plus​非常的简单,只需要引入 ​starter ​工程,并配置 ​mapper ​扫描路径即可。
但​MyBatis-Plus​ 的强大远不止这些功能,想要详细了解 ​MyBatis-Plus​ 的强大功能?那就继续往下看吧!