当前位置: 首页 > news >正文

mysql 多数据源

依赖

<dependencies><!--mysql连接--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!--多数据源--><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.6.0</version></dependency><!--mybatisplus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3</version></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

配置文件

# 应用服务 WEB 访问端口
server.port=8080#mybatisplus配置mapper位置
mybatis-plus.mapper-locations=classpath*:mapper/*.xml# 多数据源配置
spring.datasource.dynamic.primary=master
spring.datasource.dynamic.strict=falsespring.datasource.dynamic.datasource.master.url=****
spring.datasource.dynamic.datasource.master.username=****
spring.datasource.dynamic.datasource.master.password=****
spring.datasource.dynamic.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.dynamic.datasource.slave1.url=****
spring.datasource.dynamic.datasource.slave1.username=****
spring.datasource.dynamic.datasource.slave1.password=****
spring.datasource.dynamic.datasource.slave1.driver-class-name=com.mysql.cj.jdbc.Driver

下面是项目文件结构
在这里插入图片描述
就是必须的 mapper domain service impl 这些文件,直接用 mybatisplus的idea插件生成即可

还需要在 impl 上面加上注解

在这里插入图片描述

开始测试

@RestController
@RequestMapping("/multi")
public class MultiDatasource {@Autowiredprivate ProductService productService;@Autowiredprivate TbProductService tbProductService;@GetMapping("/product")public String product() {/*从一个库中查出数据*/List<Product> products = productService.listByIds(List.of(1));Product product = products.get(0);//id            //product_name      //product_description//pre_price     //now_price         //create_time//creator       //update_time       //editor        //ynTbProduct tbProduct = new TbProduct();tbProduct.setProductName(product.getTitle());tbProduct.setProductDescription(product.getDescription());tbProduct.setPrePrice(Long.valueOf(product.getOriginalPrice()));tbProduct.setNowPrice(Long.valueOf(product.getActualPrice()));tbProduct.setCreateTime(product.getCreateTime());tbProduct.setCreator("admin");tbProduct.setUpdateTime(product.getUpdateTime());tbProduct.setEditor("admin");tbProduct.setYn(1);tbProductService.save(tbProduct);return "Hello, MultiDatasource!";}
}

结束

http://www.lryc.cn/news/295338.html

相关文章:

  • uniapp 使用renderjs引入echarts
  • hr最讨厌这6种应届生简历❌
  • 【Linux笔记】文件系统与软硬链接
  • vue3(笔记)
  • Java面向对象 this
  • 阿里云游戏服务器租用价格表,2024最新报价
  • 2-1 动手学深度学习v2-Softmax回归-笔记
  • laravel distinct查询问题,laravel子查询写法
  • AI助力农作物自动采摘,基于DETR(DEtection TRansformer)开发构建作物生产场景下番茄采摘检测计数分析系统
  • C语言——字符串大小写互换
  • macOS的设置与常用软件(含IntelliJ IDEA 2023.3.2 Ultimate安装,SIP的关闭与开启)
  • http伪造本地用户字段系列总结
  • Hadoop-IDEA开发平台搭建
  • block任务块、rescue和always、loop循环、role角色概述、role角色应用、ansible-vault、sudo提权、特殊的主机清单变量
  • Qt:QFileDialog
  • 我的QQ编程学习群
  • 【C++】类与对象(四)——初始化列表|explicit关键字|static成员|友元|匿名对象
  • ChatGPT高效提问—prompt常见用法
  • 使用vite创建vue+ts项目,整合常用插件(scss、vue-router、pinia、axios等)和配置
  • 泛型、Trait 和生命周期(上)
  • <网络安全>《18 数据安全交换系统》
  • Kafka 生产调优
  • springboot162基于SpringBoot的体育馆管理系统的设计与实现
  • Interpolator:在Android中方便使用一些常见的CubicBezier贝塞尔曲线动画效果
  • Nacos安装,服务注册,负载均衡配置,权重配置以及环境隔离
  • Vue3导出数据为txt文件
  • Simulink中getConfigSet用法
  • 【Algorithms 4】算法(第4版)学习笔记 05 - 2.2 归并排序
  • mybatis mapper sql include用法实现sql块复用
  • 正点原子--STM32通用定时器学习笔记(2)