Mybatis plus+spring+boot第一章


一、创建spring boot项目,引入依赖,引入lombock依赖, mysql-connector-java    mybatis-plus-boot-starter  junit  spring-test 依赖

<?xml version="1.0" encoding="UTF-8"?>

    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.6.4
         
    
    com.yinminneng
    mybatisplus01
    0.0.1-SNAPSHOT
    mybatisplus01
    Demo project for Spring Boot
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter
        

        
            org.projectlombok
            lombok
            true
        

        
            com.baomidou
            mybatis-plus-boot-starter
            3.5.1
        
        
        
            mysql
            mysql-connector-java
            runtime
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.springframework.boot
            spring-boot-test
        
        
            junit
            junit
        
        
            junit
            junit
        
        
            org.springframework
            spring-test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    
                        
                            org.projectlombok
                            lombok
                        
                    
                
            
        
    


二、创建数据库表和数据库数据

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


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

三、创建配置文件,application.yml,删除application.properties

# DataSource Config
server:
  port: 8099
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatisdb?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&nullCatalogMeansCurrent=true
    username: root
    password: root123

四、创建实体类,user,项目结构如下

package com.yinminneng.mybatisplus01.entities;

import lombok.Data;

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

 五、创建userMapper类,继承basemapper

package com.yinminneng.mybatisplus01.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yinminneng.mybatisplus01.entities.User;
import org.springframework.stereotype.Component;

public interface UserMapper extends BaseMapper {

}

六、配置mapper扫描包,注解MapperScan

package  com.yinminneng.mybatisplus01;

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

@SpringBootApplication
@MapperScan("com.yinminneng.mybatisplus01.mapper")
public class Mybatisplus01Application {
    public static void main(String[] args) {
        SpringApplication.run(Mybatisplus01Application.class, args);
    }

}

七、添加测试类,测试

package com.yinminneng.mybatisplus01.tests;

import com.yinminneng.mybatisplus01.entities.User;
import com.yinminneng.mybatisplus01.mapper.UserMapper;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;

//单元测试要加runwith,否则无法自动注入
@SpringBootTest
@RunWith(SpringRunner.class)
public class SampleTest {

    @Autowired
    private UserMapper userMapper;
    @Test
    public void  select(){
        List list = userMapper.selectList(null);
        //junit测试单元有的
        Assert.assertEquals(5,list.size());
        list.forEach(System.out::println);
    }
}