2.Mybatis Plus快速入门

2.Mybatis Plus快速入门

  • 跟着官网操作

​ 第一步:创建数据库mybatis_plus

  • 创建表
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, '[email protected]'),
(2, 'Jack', 20, '[email protected]'),
(3, 'Tom', 28, '[email protected]'),
(4, 'Sandy', 21, '[email protected]'),
(5, 'Billie', 24, '[email protected]')

​ 第二步:创建一个springboot的web项目(初始化工程)

​ 第三步:导入相关依赖

  • 需要导入数据库驱动,mybatis-plus场景启动器

<dependency>
    <groupId>mysqlgroupId>
    <artifactId>mysql-connector-javaartifactId>
dependency>

<dependency>
    <groupId>org.projectlombokgroupId>
    <artifactId>lombokartifactId>
dependency>

<dependency>
    <groupId>com.baomidougroupId>
    <artifactId>mybatis-plus-boot-starterartifactId>
    <version>3.3.2version>
dependency>

​ 第四步:连接数据库并编写数据库配置

  • 注意这里是需要连接数据库的
    2.Mybatis Plus快速入门_第1张图片

  • GMT%2B8:表示东八区

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&useSSL=false&useUnicode=true&charcterEncoding=UTF-8
    driver-class-name: com.mysql.cj.jdbc.Driver

​ 第五步:编写实体类pojo

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

​ 第六步:编写Mapper类 UserMapper.java

  • UserMapper接口需要继承BaseMapper类并且指定相应的泛型
  • 只要我们实现了BaseMapper并指定泛型他就能给我们提供已经写好的crud代码
  • 下面是BaseMapper类的源码,几乎所有的crud方法都具备

2.Mybatis Plus快速入门_第2张图片

@Repository //代表持久层
public interface UserMapper extends BaseMapper<User> {
}

​ 第七步:在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹:

package com.xuan;

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

@SpringBootApplication
@MapperScan("com.xuan.mapper")
public class DemoApplication {

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

}

​ 第八步:编写测试类进行测试

  • selectList方法中参数wapper是一个条件构造器 这里先不指定
  • forEach参数是Consumer泛型 通过引用方式输出
package com.xuan;


import com.xuan.mapper.UserMapper;
import com.xuan.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 DemoApplicationTests {

    @Autowired
    private UserMapper userMapper;


    @Test
    void contextLoads() {
        //参数wapper是一个条件构造器 这里先不指定
        List<User> userList = userMapper.selectList(null);
        //forEach参数是Consumer泛型
        userList.forEach(System.out::println);
    }

}

​ 测试结果如下 复制关键结果

User(id=1, name=Jone, age=18, email=test1@baomidou.com)
User(id=2, name=Jack, age=20, email=test2@baomidou.com)
User(id=3, name=Tom, age=28, email=test3@baomidou.com)
User(id=4, name=Sandy, age=21, email=test4@baomidou.com)
User(id=5, name=Billie, age=24, email=test5@baomidou.com)

​ 当然也可以考虑加上日志配置,这样就可以看到完整的sql语句以及执行流程

  • 这是默认的日志实现
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  • 日志打印图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TxNZDeM4-1595379993646)(C:\Users\l\AppData\Roaming\Typora\typora-user-images\image-20200721114036637.png)]

​ 总结:mybatis-plus帮我们做了什么? 一个是帮我们编写了sql语句,因为我们从头到尾都没写sql语句。

​ 另一个是myabtis-plus给我们提供了很多操作数据库的方法 ;我们甚至连配置文件都没有编写

你可能感兴趣的:(MyBatis,Plus由浅入深(跟着官网走))