MyBatis-Plus統合SpringBootエントリーケース


1.MyBatis-Plus

1 はじめに

MyBatis-Plus は、MyBatis の基本機能はそのままに、他の機能を MyBatis 上に拡張し、開発や申請を効率化するために存在する Mybatis 拡張版ツールです。

公式ウェブサイトの文書アドレス: https://mp.baomidou.com/guide/

MyBatis-Plus の機能: https://mp.baomidou.com/guide/#%E7%89%B9%E6%80%A7


2. SpringBoot を使って MyBatis-Plus をすばやく使用する

(1) 準備には、
    Java 開発環境 (JDK) および対応する開発ツール (IDE) が必要です。
    Maven (関連する依存関係をダウンロードするために使用される jar パッケージ) が必要です。
    Spring Boot が必要です。
    IDEA を使用して mybatis-plus プラグインをインストールできます。


(2) SpringBoot プロジェクトを作成します。
    方法 1: 公式 Web サイト https://start.spring.io/ にアクセスして初期化し、IDE ツールをインポートします。
    方法 2: IDE ツールを直接使用して作成します。春のイニシャライザ。


 

(3) MyBatis-Plus の依存関係を追加 (mybatis-plus-boot-starter)

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.3.1.tmp</version>
</dependency>

(4) テストと開発を行うために、ここでは mysql 8 を使用しており、mysql 関連の依存関係を導入する必要があります。
    コードを簡素化するために、lombok 依存関係を導入します (getter、setter およびその他のメソッドを減らします)。

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.18</version>
</dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.10</version>
</dependency>

(5) 完全な依存ファイル (pom.xml)

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.lyh.test</groupId>
    <artifactId>test-mybatis-plus</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>test-mybatis-plus</name>
    <description>测试 -- 测试 MyBatis-Plus 功能</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.1.tmp</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.18</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
        </dependency>

        <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>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

(6) テスト用のテーブルを使用します。

    参考までに、作成時間、変更時間などのフィールドを定義できます。

DROP DATABASE IF EXISTS testMyBatisPlus;

CREATE DATABASE testMyBatisPlus;

USE testMyBatisPlus;

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

INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, '[email protected]'),
(2, 'Jack', 20, '[email protected]'),
(3, 'Tom', 28, '[email protected]'),
(4, 'Sandy', 21, '[email protected]'),
(5, 'Billie', 24, '[email protected]');


(7) application.yml ファイルに mysql データソース情報を設定します。

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/testMyBatisPlus?useUnicode=true&characterEncoding=utf8


(8) テーブルに対応するエンティティクラスを記述します。

package entity;

import lombok.Data;

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


(9)エンティティクラスを操作するMapperクラスを記述します。
    mybatis-plusのパッケージクラスであるBaseMapperをそのまま継承。

package mapper;

import bean.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

public interface UserMapper extends BaseMapper<User> {
}


(10) エンティティクラスと Mapper クラスを記述したら、それらを使用できます。
      Step1: 最初にスタートアップ クラスの Mapper クラスをスキャンします。つまり、@MapperScan アノテーションを追加します。

package com.lyh.test.testmybatisplus;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@MapperScan("mapper")
@SpringBootApplication
public class TestMybatisPlusApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestMybatisPlusApplication.class, args);
    }

}

ステップ 2: テストするテスト クラスを作成します。

package com.lyh.test.testmybatisplus;

import bean.User;
import mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
class TestMybatisPlusApplicationTests {

    @Autowired
    private UserMapper userMapper;

    @Test
    public void testSelect() {
        System.out.println(("----- selectAll method test ------"));
        List<User> userList = userMapper.selectList(null);
        for(User user:userList) {
            System.out.println(user);
        }
    }
}


(11) まとめ: 上記の簡単な操作で、xml ファイルを作成せずにユーザー テーブルに対して CRUD 操作を実行できます。
           注: @Autowired でマークされた変数に赤い下線が引かれても、通常の操作には影響しません。


設定に入り、インスペクションを見つけて、Spring Core -> コード -> Bean クラスの自動配線を選択し、エラーを警告に変更します。


実行された sql ステートメントを表示するには、次のように yml ファイルに構成情報を追加します。

次の図に示すように、SQL ステートメントは実行中に出力されます。

おすすめ

転載: blog.csdn.net/weixin_53443677/article/details/125516810