SpringBoot集成MyBatisPlus入門篇

SpringBoot集成MyBatisPlus-01簡單入門

1.建立數據表

#建立用戶表
CREATE TABLE user (
    id BIGINT(20) PRIMARY KEY NOT NULL COMMENT '主鍵',
    name VARCHAR(30) DEFAULT NULL COMMENT '姓名',
    age INT(11) DEFAULT NULL COMMENT '年齡',
    email VARCHAR(50) DEFAULT NULL COMMENT '郵箱',
    manager_id BIGINT(20) DEFAULT NULL COMMENT '直屬上級id',
    create_time DATETIME DEFAULT NULL COMMENT '建立時間',
    CONSTRAINT manager_fk FOREIGN KEY (manager_id)
        REFERENCES user (id)
)  ENGINE=INNODB CHARSET=UTF8;

#初始化數據:
INSERT INTO user (id, name, age, email, manager_id
	, create_time)
VALUES (1087982257332887553, '大boss', 40, 'boss@baomidou.com', NULL
		, '2019-01-11 14:20:20'),
	(1088248166370832385, '王天風', 25, 'wtf@baomidou.com', 1087982257332887553
		, '2019-02-05 11:12:22'),
	(1088250446457389058, '李藝偉', 28, 'lyw@baomidou.com', 1088248166370832385
		, '2019-02-14 08:31:16'),
	(1094590409767661570, '張雨琪', 31, 'zjq@baomidou.com', 1088248166370832385
		, '2019-01-14 09:15:15'),
	(1094592041087729666, '劉紅雨', 32, 'lhm@baomidou.com', 1088248166370832385
		, '2019-01-14 09:48:16');

 

2.使用Spring Initializr 建立Springboot項目

    a.選擇依賴:Lombok\SpringWeb\MySQLDriver

    b. 在pom中引入 MyBatisPlus

<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.3.2</version>
</dependency>

3. 在application.yml中 配置數據庫連接

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/springboot-mybatis-imooc?useSSL=false&serverTimezone=GMT%2b8
    password: 123456
    username: root

MySql驅動類:8.0以後用com.mysql.cj.jdbc.Driver ,比原來多個cjjava

useSSL=false  本地測試,不用SSL安全驗證mysql

serverTimezone:設置服務器時區爲東八區 GMT+8spring

3.1 在mysql 中設置時區:

mysql> set global time_zone = '+8:00';
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like '%time_zone%'
    -> ;
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone |        |
| time_zone        | +08:00 |
+------------------+--------+
2 rows in set, 1 warning (0.00 sec)

4. 建立實體

package com.zhl.springbootmp.entity;

import lombok.Data;
import lombok.ToString;

import java.time.LocalDateTime;

@Data
@ToString
public class User {
    private long id;
    private String name;
    private  Integer age;
    private String email;
    /*上級*/
    private long managerId;
    private LocalDateTime createTime;
}

5.建立dao層

package com.zhl.springbootmp.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhl.springbootmp.entity.User;
import org.springframework.stereotype.Repository;


public interface UserMapper extends BaseMapper<User> {
}

繼承 BaseMapper<> .泛型指定實體類型sql

6.在啓動類指定MapperScan 到dao層

@SpringBootApplication
@MapperScan("com.zhl.springbootmp.dao")
public class SpringbootMpApplication {

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

}

7.測試類

@SpringBootTest
class SpringbootMpApplicationTests {

    @Test
    void contextLoads() {
    }
    @Resource
    private UserMapper userMapper;
    @Test
    void test01(){
        List<User> users = userMapper.selectList(null);
        users.forEach(System.out::println);
    }
}

8.測試結果

2020-09-13 18:17:36.080  INFO 2280 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
User(id=1087982257332887553, name=大boss, age=40, email=boss@baomidou.com, managerId=0, createTime=2019-01-11T14:20:20)
User(id=1088248166370832385, name=王天風, age=25, email=wtf@baomidou.com, managerId=1087982257332887553, createTime=2019-02-05T11:12:22)
User(id=1088250446457389058, name=李藝偉, age=28, email=lyw@baomidou.com, managerId=1088248166370832385, createTime=2019-02-14T08:31:16)
User(id=1094590409767661570, name=張雨琪, age=31, email=zjq@baomidou.com, managerId=1088248166370832385, createTime=2019-01-14T09:15:15)
User(id=1094592041087729666, name=劉紅雨, age=32, email=lhm@baomidou.com, managerId=1088248166370832385, createTime=2019-01-14T09:48:16)

參考慕課 https://www.imooc.com/video/19494數據庫

相關文章
相關標籤/搜索