第一篇:MyBatis-Plus使用入門

25899 ワード

目次
  • 、前言
  • 、データベースを作成し、初期化する
  • 2.1データベースを作成する
  • .userテーブル
  • を作成する.
  • 、初期化プロジェクト
  • 、追加項目依存
  • 4.1依存性を導入する
  • 、構成
  • 、コード作成
  • 6.1メインクラス
  • 6.2エンティティ
  • を作成する.
  • 6.3 mapper
  • を作成します.
  • 、テスト
  • 、設定ログ
  • 1、はじめに
    クイックスタートの参考:http://mp.baomidou.com/guide/quick-start.html テスト項目:mybatis_プラスデータベース:mybatis_プラス
    2、データベースを作成して初期化する
    2.1データベースの作成
    mybatisプラス
    2.2 userテーブルの作成
    テーブルステートメントと初期化データのスクリプトは以下の通りです.
    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)
    )
    
            DataDELETE FROM user;
    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]');
    
    3、初期化プロジェクト
    Spring Initializrを使用してSpring BootプロジェクトGroup:comp.macco Artfact:mybatis-plusバージョン:2.2.2.1.RELEASE
    4、追加項目の依存性
    4.1導入依存
    spring-boot-starter、spring-boot-starter-test追加:mybatis-plus-boot-starter、MySQL、lombook、プロジェクトの中でLombookを使って、多くの重複コードの書き込みを減らすことができます.例えばgetter/setter/toSteringなどの方法の編纂
    <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>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.5</version>
        </dependency>
        <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--lombok       -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>
    
    注意:MyBatis-Plusを導入した後、MyBatisとMyBatis-Sepringを再び導入しないでください.バージョンの違いによる問題を避けるために.
    5、配置
    appication.propertiesプロファイルにMySQLデータベースを追加する関連構成:
    //mysql5
    #mysql     
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus
    spring.datasource.username=root
    spring.datasource.password=passwd
    
    mysql8  (spring boot 2.1)
      :driver url   
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8
    spring.datasource.username=root
    spring.datasource.password=passwd
    
    ここのurlは使いましたか?serverTimezone=GMT%2 B 8サフィックスは、Spring Boot 2.1が8.0バージョンのjdbcドライバを統合しているため、このバージョンのjdbcドライバはこのサフィックスを追加する必要があります.さもなければ、運行テストの用例は以下のエラーを報告します.java.sql.SQLException:The server time zone valueйヽoo...................................................×¼_;±¼囌’is unrecognized or represents more 2、ここのdriver-class-nameはcomp.mysql.cj.jdbc.Driverを使っています.jdbc 8でこの駆動を推奨します.以前のcomp.mysql.jdbc.Driverはすでに廃棄されました.そうでなければ、テスト用例を実行する時にWARN情報があります.
    6、コード作成
    6.1メインクラス
    Spring Bootスタートクラスに@MapperScanコメントを追加し、Mapperフォルダをスキャンします.スキャンしたパケット名は実際の状況によって修正されます.
    @SpringBootApplication
    @MapperScan("com.macco.mybatisplus.mapper")
    public class MybatisPlusApplication {
    
    	public static void main(String[] args) {
    		SpringApplication.run(MybatisPlusApplication.class, args);
    	}
    
    }
    
    6.2エンティティを作成する
    パッケージを作成します.エンティティ類User.javaを作成します.ここではLombok簡略コードを使用します.
    package com.macco.mybatisplus.entity;
    
    import lombok.Data;
    
    @Data
    public class User {
        private Long id;
        private String name;
        private Integer age;
        private String email;
    }
    
    Lombook使用参考:https://blog.csdn.net/motui/article/details/79012846
    6.3 mapperを作成する
    パッケージ作成Mapper作成Mapperインターフェース:UserMapper.java
    package com.macco.mybatisplus.mapper;
    
    import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    import com.macco.mybatisplus.entity.User;
    
    public interface UserMapper extends BaseMapper<User> {
    }
    
    7、テスト
    テストクラスを追加して、機能テストを行います.
    package com.macco.mybatisplus;
    
    import com.macco.mybatisplus.entity.User;
    import com.macco.mybatisplus.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 MybatisPlusApplicationTests {
    
    	@Autowired
    	private UserMapper userMapper;
    
    	@Test
    	void contextLoads() {
    		System.out.println(("----- selectAll method test ------"));
    		//UserMapper    selectList()        MP          Wrapper
    		//            
    		List<User> users = userMapper.selectList(null);
    		users.stream().forEach(System.out::println);
    	}
    
    }
    
    
    注:IDEAはuserMapperでエラーを報告しました.注入の対象が見つからないので、クラスは動的に作成されましたが、プログラムは正確に実行できます.エラーを避けるために、dao層のインターフェースに@Repositoryコメントを追加することができます.
    コンソール出力:User(id=1、name=Jone、age=18、email=1)[email protected])User(id=2、name=Jack、age=20、[email protected])User(id=3、name=Tom、age=28、[email protected])User(id=4、name=Sandy、age=21、[email protected])User(id=5、name=Billie、age=24、[email protected])
    以上の簡単なステップを通じて、UserテーブルのCRUD機能を実現しました.XMLファイルさえ作成しなくてもいいです.
    8、設定ログ
    sql出力ログを確認します.
    #mybatis  
    mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl