文章目录

  • ​​一. 代码生成器​​
  • ​​1. 引入依赖​​
  • ​​2. 快速生成​​
  • ​​二. 多数据源​​
  • ​​1. 创建数据库及表​​
  • ​​2. 引入依赖​​
  • ​​3. 配置多数据源​​
  • ​​4. 创建用户service​​
  • ​​5. 创建商品service​​
  • ​​6. 测试​​
  • ​​三. MyBatisX插件​​

一. 代码生成器

1. 引入依赖

MyBatis-Plus工具_mysql

2. 快速生成

package com.atguigu.mybatisplus;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.util.Collections;

/**
* Date:2022/2/15
* Author:ybc
* Description:
*/
public class FastAutoGeneratorTest {

public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/mybatis_plus?characterEncoding=utf-8&userSSL=false", "root", "root")
.globalConfig(builder -> {
builder.author("pudding") // 设置作者
//.enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.outputDir("E://mybatis_plus"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.pudding") // 设置父包名
.moduleName("mybatisplus") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, "E://mybatis_plus")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude("t_user") // 设置需要生成的表名
.addTablePrefix("t_", "c_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}

二. 多数据源

MyBatis-Plus工具_java_02


MyBatis-Plus工具_数据源_03

1. 创建数据库及表

创建数据库mybatis_plus_1和表product

CREATE DATABASE `mybatis_plus_1` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
use `mybatis_plus_1`;
CREATE TABLE product
(
id BIGINT(20) NOT NULL COMMENT '主键ID',
name VARCHAR(30) NULL DEFAULT NULL COMMENT '商品名称',
price INT(11) DEFAULT 0 COMMENT '价格',
version INT(11) DEFAULT 0 COMMENT '乐观锁版本号',
PRIMARY KEY (id)
);

INSERT INTO product (id, NAME, price) VALUES (1, '外星人笔记本', 100);

use mybatis_plus;
DROP TABLE IF EXISTS product;

2. 引入依赖

MyBatis-Plus工具_数据库_04

3. 配置多数据源

说明:注释掉之前的数据库连接,添加新配置

MyBatis-Plus工具_数据源_05

spring:
# 配置数据源信息
datasource:
dynamic:
# 设置默认的数据源或者数据源组,默认值即为master
primary: master
# 严格匹配数据源,默认false.true未匹配到指定数据源时抛异常,false使用默认数据源
strict: false
datasource:
master:
url: jdbc:mysql://localhost:3306/mybatis_plus?characterEncoding=utf-8&useSSL=false
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
slave_1:
url: jdbc:mysql://localhost:3306/mybatis_plus_1?characterEncoding=utf-8&useSSL=false
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root

4. 创建用户service

MyBatis-Plus工具_mysql_06

5. 创建商品service

MyBatis-Plus工具_java_07

6. 测试

MyBatis-Plus工具_bc_08

package com.atguigu.mybatisplus;

import com.atguigu.mybatisplus.service.ProductService;
import com.atguigu.mybatisplus.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class MybatisPlusDatasourceApplicationTests {

@Test
void contextLoads() {
}

@Autowired
private UserService userService;
@Autowired
private ProductService productService;

@Test
public void test(){
System.out.println(userService.getById(1));
System.out.println(productService.getById(1));
}
}

MyBatis-Plus工具_数据源_09

三. MyBatisX插件

MyBatis-Plus工具_数据源_10


​MyBatisX插件用法:https://baomidou.com/pages/ba5b24/​

MyBatis-Plus工具_数据库_11


MyBatis-Plus工具_数据库_12