当前位置 博文首页 > RtxTitanV的博客:SpringBoot2.x 集成 Mybatis-Plus
本文主要对SpringBoot2.x集成Mybatis-Plus及其基本使用进行简单总结,其中SpringBoot使用的2.4.5
版本。
MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。
-- 创建测试数据库并使用
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');
navicat查看用户表:
通过maven新建一个名为springboot-mybatis-plus
的项目,该项目将连接mysql数据库进行测试。
<!-- 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>
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接口所在包。
在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
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
*/