MyBatis-Plus 快速入門-快速開始

2022-03-23 16:02 更新

我們將通過一個(gè)簡單的 Demo 來闡述 MyBatis-Plus 的強(qiáng)大功能,在此之前,我們假設(shè)您已經(jīng):

  • 擁有 ?Java ?開發(fā)環(huán)境以及相應(yīng) IDE
  • 熟悉 ?Spring Boot?
  • 熟悉 ?Maven?

現(xiàn)有一張 ?User ?表,其表結(jié)構(gòu)如下:

 id  name  age email 
 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)

小結(jié)

通過以上幾個(gè)簡單的步驟,我們就實(shí)現(xiàn)了 ?User ?表的 ?CRUD? 功能,甚至連 ?XML ?文件都不用編寫!
從以上步驟中,我們可以看到集成?MyBatis-Plus?非常的簡單,只需要引入 ?starter ?工程,并配置 ?mapper ?掃描路徑即可。
但? MyBatis-Plus? 的強(qiáng)大遠(yuǎn)不止這些功能,想要詳細(xì)了解 ?MyBatis-Plus? 的強(qiáng)大功能?那就繼續(xù)往下看吧!


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)