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

动态数据源

一、部署

1、导入依赖

		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
			<version>3.1.0</version>
		</dependency>

2、编写yml 配置文件

spring:
  datasource:
    dynamic:
      # primary:后面跟的数据源为主数据源,没有DS注解特殊标识,默认查询的数据源
      primary: master
      datasource:
        master:
          url: jdbc:mysql://127.0.0.1:3306/ceshi?useUnicode=true&characterEncoding=utf-8
          username: root
          password: root
          driver-class-name: com.mysql.cj.jdbc.Driver
        idcdb:
          url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8
          username: root
          password: root
          driver-class-name: com.mysql.cj.jdbc.Driver

3、实际应用

注解在类上或方法上来切换数据源

@DS("数据源名称")

在使用 @DS 注解时,有如下注意事项:

  1. 不能使用事务@Transactional,否则数据源不会切换,使用的还是第一次加载的数据源;
  2. 第一次加载数据源之后,第二次、第三次…操作其它数据源,如果数据源不存在,使用的还是第一次加载的数据源;
  3. 数据源名称不要包含下划线,否则不能切换。
  4. 方法上的注解优先于类上注解。
public interface PlanMapper extends BaseMapper<Plan> {
  
	@Select("SELECT COMMENTS FROM user_tab_comments WHERE table_name = #{table}")
	public String getTableName(String table);

	@DS("idcdb")
	@Select("SELECT COMMENTS FROM user_tab_comments WHERE table_name = #{table}")
	public String getGasTableName(String table);

}
http://www.dtcms.com/a/8097.html

相关文章:

  • Rust安装——Win10
  • 5年前端仔的2023年终总结
  • Linux C/C++ 原始套接字:打造链路层ping实现
  • CleanMyMac X 4.14.7帮您安全清理Mac系统垃圾
  • ElasticSearch搜索与分析引擎-Linux离线环境安装教程
  • Node.js的安装
  • Java后端须知的前端知识
  • ansible批量修改主机密码
  • Linux前后端程序部署
  • P9420 [蓝桥杯 2023 国 B] 子 2023 / 双子数--2024冲刺蓝桥杯省一
  • 如何以管理员身份删除node_modules文件
  • MATLAB实现二阶模糊逻辑控制系统仿真
  • 适用于 Windows 和 Mac 的 16 款最佳数据恢复软件
  • Leetcode 377 组合总和 Ⅳ
  • FlinkCDC全量及增量采集SqlServer数据
  • java -jar启动SpringBoot项目时配置文件加载位置与优先级
  • BC107 矩阵转置
  • 【教3妹学编程-算法题】1696. 跳跃游戏 VI
  • 【知识图谱+大模型的紧耦合新范式】Think-on-Graph:解决大模型在医疗、法律、金融等垂直领域的幻觉
  • Postman发送带登录信息的请求
  • web前后端小坑记录
  • git小白进阶之路
  • C#基础-线程暂停方案之重置事件
  • 状态压缩 笔记
  • 景联文科技受邀出席全国信标委生物特征识别分委会二届五次全会
  • Linux系统Shell脚本-----------正则表达式 文本三剑客之---------grep、 sed
  • LLM(大语言模型)——大模型简介
  • Python pyglet 游戏开发
  • 红队渗透靶机:TIKI: 1
  • ubuntu22.04@laptop OpenCV Get Started: 002_reading_writing_videos