当前位置 博文首页 > RtxTitanV的博客:SpringBoot2.x 集成 Mybatis-Plus

    RtxTitanV的博客:SpringBoot2.x 集成 Mybatis-Plus

    作者:[db:作者] 时间:2021-06-20 12:16

    本文主要对SpringBoot2.x集成Mybatis-Plus及其基本使用进行简单总结,其中SpringBoot使用的2.4.5版本。

    一、Mybatis-Plus简介

    MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。

    二、集成Mybatis-Plus

    1.创建数据库及表

    -- 创建测试数据库并使用
    CREATE DATABASE mybatis_plus_test CHARACTER SET utf8 COLLATE utf8_general_ci;
    USE mybatis_plus_test;
    
    -- 创建测试表
    CREATE TABLE user
    (
    	id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    	username VARCHAR(30) NOT NULL COMMENT '用户名', 
        password VARCHAR(30) NOT NULL COMMENT '密码',
    	realname VARCHAR(30) NULL DEFAULT NULL COMMENT '用户真实姓名',
        gender CHAR(1) NULL DEFAULT NULL COMMENT '性别', 
    	age INT(11) NULL DEFAULT NULL COMMENT '年龄',
    	email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
        user_point INT NOT NULL DEFAULT 0 COMMENT '用户积分', 
        user_level TINYINT NOT NULL DEFAULT 1 COMMENT '用户LV:1,2,3,4,5,6',
        birthday TIMESTAMP NULL DEFAULT NULL COMMENT '出生日期',
    	PRIMARY KEY (id)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 comment '用户表';
    
    -- 插入测试数据
    INSERT INTO user (id, username, password, realname, gender, age, email, user_point, user_level, birthday) VALUES
    (1, 'guanyuchang123', 'a123456', '关羽', '男', 28, 'yunchang@xxx.com', 100, 1, '1992-10-01 17:15:20'),
    (2, 'qiaolaoda888', 'ss0635gh', '大乔', '女', 20, 'daqiao@xxx.com', 360, 1, '2000-12-25 13:22:32'),
    (3, 'feige45', 'qwer1234aa', '张飞', '男', 25, 'yide@xxx.com', 1000, 3, '1995-05-16 08:10:15'),
    (4, 'zilongzhao01', 'qscrdx265', '赵云', '男', 21, 'zilong@xxx.com', 666, 2, '1999-11-27 22:15:25'),
    (5, 'qiaoxiaomei886', '123wwqqs36', '小乔', '女', 18, 'xiaoqiao@xxx.com', 2500, 4, '2002-09-06 12:28:33'),
    (6, 'shangxiang23', 'asrf0325ss', '孙尚香', '女', 22, 'shangxiang@xxx.com', 10000, 6, '1998-03-11 21:51:10'),
    (7, 'liuxuande66', 'zxcv456es', '刘备', '男', 35, 'xuande@xxx.com', 5000, 5, '1985-12-25 13:22:32'),
    (8, 'diaochan321', 'asoplk66', '貂蝉', '女', 22, 'diaochan@xxx.com', 888, 3, '1998-06-19 07:22:36'),
    (9, 'xiahou360', 'a1s2d3q6', '夏侯惇', '男', 30, 'xiahoudun@xxx.com', 1200, 3, '1990-08-16 23:17:51'),
    (10, 'jiangdongyige09', '637cvxs', '孙策', '男', 25, 'sunce@xxx.com', 3000, 4, '1995-12-06 11:16:45');
    

    1
    navicat查看用户表:
    2

    2.初始化工程

    通过maven新建一个名为springboot-mybatis-plus的项目,该项目将连接mysql数据库进行测试。

    3.引入依赖

    <!-- mybatis-plus 起步依赖 包含了mybatis的所有依赖 -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.2</version>
    </dependency>
    <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>
    </dependency>
    <!-- mysql驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.16</version>
    </dependency>
    <!-- druid连接池 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.24</version>
    </dependency>
    <!-- lombok插件 -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.8</version>
    </dependency>
    

    3.主启动类

    package com.rtxtitanv;
    
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    /**
     * @author rtxtitanv
     * @version 1.0.0
     * @name com.rtxtitanv.MybatisPlusApplication
     * @description 主启动类
     * @date 2021/5/16 15:37
     */
    @SpringBootApplication
    @MapperScan("com.rtxtitanv.mapper")
    public class MybatisPlusApplication {
        public static void main(String[] args) {
            SpringApplication.run(MybatisPlusApplication.class, args);
        }
    }
    

    @MapperScan:扫描mapper接口所在包。

    4.编写配置文件

    application.yml中进行如下配置:

    spring:
      # 配置数据源
      datasource:
        # 数据源类型,使用druid连接池
        type: com.alibaba.druid.pool.DruidDataSource
        # 数据库驱动,这里配置高版本mysql驱动
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/mybatis_plus_test?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false
        username: root
        password: root
    

    5.创建实体类

    package com.rtxtitanv.model;
    
    import com.baomidou.mybatisplus.annotation.*;
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    import lombok.experimental.Accessors;
    
    import java.time.LocalDateTime;
    
    /**
     * @author rtxtitanv
     * @version 1.0.0
     * @name com.rtxtitanv.model.User
     * @description 用户实体类
     * @date 2021/5/16 15:42
     */