文章目录
- 一. 代码生成器
-
- 1. 引入依赖
- 2. 快速生成
- 二. 多数据源
-
- 1. 创建数据库及表
- 2. 引入依赖
- 3. 配置多数据源
- 4. 创建用户service
- 5. 创建商品service
- 6. 测试
- 三. MyBatisX插件
一. 代码生成器 1. 引入依赖
文章图片
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();
}
}
二. 多数据源
文章图片
文章图片
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. 引入依赖 【MyBatisPlus|MyBatis-Plus工具】
文章图片
3. 配置多数据源
说明:注释掉之前的数据库连接,添加新配置
文章图片
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
文章图片
5. 创建商品service
文章图片
6. 测试
文章图片
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));
}
}
文章图片
三. MyBatisX插件
文章图片
MyBatisX插件用法:https://baomidou.com/pages/ba5b24/
文章图片
文章图片
推荐阅读
- MySQL|MySQL表的增删改查(进阶)
- 还在使用Java8( 这5个Java17新功能,你会喜欢的)
- vue|基于spring cloud + nacos + gateway + ssm+的学生管理系统
- vue|2022 年最新前端 Vue 项目重构总结
- SQL|python操作mysql插入数据
- CISC 360 Piazza
- hive thrift demo001
- 微服务之Spring|十、API网关
- spring|springboot文件上传与下载