我們將通過一個(gè)簡單的 Demo 來闡述 MyBatis-Plus 的強(qiáng)大功能,在此之前,我們假設(shè)您已經(jīng):
Java
?開發(fā)環(huán)境以及相應(yīng) IDESpring Boot
?Maven
?現(xiàn)有一張 ?User
?表,其表結(jié)構(gòu)如下:
id | name | age | |
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 |
其對(duì)應(yīng)的數(shù)據(jù)庫 ?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)
);
其對(duì)應(yīng)的數(shù)據(jù)庫 ?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');
創(chuàng)建一個(gè)空的 Spring Boot 工程(工程將以 H2 作為默認(rèn)數(shù)據(jù)庫進(jìn)行演示)
提示:可以使用 Spring Initializer快速初始化一個(gè) 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
?數(shù)據(jù)庫的相關(guān)配置:
# 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 啟動(dòng)類中添加 ?@MapperScan
? 注解,掃描 Mapper 文件夾:
@SpringBootApplication
@MapperScan("com.baomidou.mybatisplus.samples.quickstart.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
編寫實(shí)體類 ?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> {
}
添加測試類,進(jìn)行功能測試:
@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()
? 方法的參數(shù)為 ?MP
?內(nèi)置的條件封裝器 ?Wrapper
?,所以不填寫就是無任何條件
控制臺(tái)輸出:
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)
通過以上幾個(gè)簡單的步驟,我們就實(shí)現(xiàn)了 ?User
?表的 ?CRUD
? 功能,甚至連 ?XML
?文件都不用編寫!
從以上步驟中,我們可以看到集成?MyBatis-Plus
?非常的簡單,只需要引入 ?starter
?工程,并配置 ?mapper
?掃描路徑即可。
但? MyBatis-Plus
? 的強(qiáng)大遠(yuǎn)不止這些功能,想要詳細(xì)了解 ?MyBatis-Plus
? 的強(qiáng)大功能?那就繼續(xù)往下看吧!
更多建議: