当前位置: 首页 > 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);

}

相关文章:

  • 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发送带登录信息的请求
  • 家庭相册㉙在沪打拼25年,我理解了父母清晨去卖蜜饯的辛苦
  • 中科院院士魏辅文已卸任江西农业大学校长
  • 夜读丨母亲的手擀面
  • 潘功胜:降准0.5个百分点,降低政策利率0.1个百分点
  • 指挥家高健:东方市民音乐会“高贵不贵”,我愿意常来
  • 赵乐际:深入学习贯彻习近平生态文明思想,推动森林法全面有效贯彻实施