1. 程式人生 > 實用技巧 >Mybatis-Plus快速開始

Mybatis-Plus快速開始

Mybatis-Plus雖然官網上有一個快速開始,但是實際操作有點問題,所以,自己寫了一個。

版本說明

如果用其他軟體版本可能會有部分差異

mybatis-plus:3.0.5

springboot:2.3.4

mysql:5.1.47

新建資料庫和表

  1. 新建一個數據庫mybatis_plus
  2. 新建一個表和新增資料
create table user(
	id BIGINT(20) not null COMMENT "主鍵ID"
	,name VARCHAR(30) COMMENT "姓名"
	,age INT(11) COMMENT "年齡"
	,email VARCHAR(50) COMMENT "郵箱"
	,PRIMARY KEY(id)
);
INSERT INTO `mybatis_plus`.`user` (`id`, `name`, `age`, `email`) VALUES ('1', 'Jane', '10', '[email protected]');
INSERT INTO `mybatis_plus`.`user` (`id`, `name`, `age`, `email`) VALUES ('2', 'Jack', '18', '[email protected]');
INSERT INTO `mybatis_plus`.`user` (`id`, `name`, `age`, `email`) VALUES ('3', 'Tom', '20', '[email protected]');
INSERT INTO `mybatis_plus`.`user` (`id`, `name`, `age`, `email`) VALUES ('4', 'Samdy', '15', '[email protected]');
INSERT INTO `mybatis_plus`.`user` (`id`, `name`, `age`, `email`) VALUES ('5', 'kangkanhg', '16', '[email protected]');

初始化專案

IDEA使用Spring Initializr新建一個springboot專案,使用版本2.3.4.RELEASE

新增依賴

<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 可以確定mysql的版本5還是8-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.47</version>
    </dependency>

    <!--lombok用來簡化實體類-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
</dependencies>

配置

在 application.properties 配置檔案中新增 mysql 資料庫的相關配置:
注意如果mysql是8版本就要加一個時區?serverTimezone=GMT%2B8

#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=123456

編碼

實體類

package com.jmu.pojo;

import lombok.Data;

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

Mapper類

package com.jmu.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jmu.pojo.User;
import org.springframework.stereotype.Repository;

@Repository
public interface UserMapper extends BaseMapper<User> {

}

掃描mapper

在mapper的啟動類中新增

package com.jmu;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.jmu.mapper")
@SpringBootApplication
public class MpApplication {

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

}

測試

package com.jmu;

import com.jmu.mapper.UserMapper;
import com.jmu.pojo.User;
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 MpApplicationTests {

    @Autowired
    private UserMapper userMapper;
    @Test
    void contextLoads() {
        List<User> all= userMapper.selectList(null);
        for (User user : all) {
            System.out.println(user);
        }
    }

}

測試結果