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

springboot如何管理多数据源?

静态多数据源管理

  1. 配置多个数据源 :创建多个数据源的配置类,通常使用 @ConfigurationProperties 注解来绑定配置文件中的数据源属性,并通过 @Bean 注解定义多个 DataSource Bean 。例如:

    • 配置类:

      @Configuration
      public class DataSourceConfig {@Bean(name = "primaryDataSource")@Primary@ConfigurationProperties(prefix = "spring.datasource.primary")public DataSource primaryDataSource() {return DataSourceBuilder.create().build();}@Bean(name = "secondaryDataSource")@ConfigurationProperties(prefix = "spring.datasource.secondary")public DataSource secondaryDataSource() {return DataSourceBuilder.create().build();}
      }

      配置文件:

      spring.datasource.primary.url=jdbc:mysql://localhost:3306/db1
      spring.datasource.primary.username=root
      spring.datasource.primary.password=123456
      spring.datasource.primary.driver-class-name=com.mysql.cj.jdbc.Driver
      spring.datasource.secondary.url=jdbc:mysql://localhost:3306/db2
      spring.datasource.secondary.username=root
      spring.datasource.secondary.password=123456
      spring.datasource.secondary.driver-class-name=com.mysql.cj.jdbc.Driver

      配置 MyBatis 的 SqlSessionFactory 和事务管理器 :为每个数据源配置独立的 SqlSessionFactoryDataSourceTransactionManager 。例如:

    • 主数据源配置类:

      @Configuration
      @MapperScan(basePackages = "com.example.mapper.primary", sqlSessionFactoryRef = "primarySqlSessionFactory")
      publ
http://www.xdnf.cn/news/138817.html

相关文章:

  • SOLID 原则在单片机环境下的 C 语言实现示例,结合嵌入式开发常见场景进行详细说明
  • MySQL8的安装方法
  • 每天学一个 Linux 命令(32):sort
  • Langchain入门介绍
  • Pandas读取Excel文件教程:从入门到精通
  • 内涵:python中的import
  • 国家社科基金项目申请书(课题论证活页)模版分享
  • MySQL索引优化、SQL分析与运行原理 - Java架构师面试实战
  • 项目笔记1:通用 Service的常见方法
  • 前端基础之《Vue(12)—插件封装》
  • Instagram广告账号被封禁停用该怎么办?
  • python——面向对象编程
  • HTMLCSS模板实现水滴动画效果
  • 通讯的基础概念:涵盖串行通信、并行通信、TCP、UDP、Socket 等关键概念和技术
  • VRRP与防火墙双机热备实验
  • HW蓝队开源网络流量分析工具 -- TrafficEye
  • 计组1.3——计算机的性能指标
  • Axure疑难杂症:详解设置选中与选中效果(玩转选中)
  • Codeforces Round 1020 (Div. 3)(题解ABCDEF)
  • deep鼠标跟随插件
  • 北斗导航 | 北斗卫星导航单点定位与深度学习结合提升精度
  • 软考【网络工程师】2023年11月上午题答案解析
  • 数据库MySQL学习——day4(更多查询操作与更新数据)
  • 如何设置极狐GitLab 议题截止日?
  • 开源项目实战学习之YOLO11:ultralytics-cfg-datasets-Objects365、open-images-v7.yaml文件(六)
  • ADW600模块:40%体积缩减+多回路智能计量,工业节能的“隐形管家”
  • Docker安装(Ubuntu22版)
  • 【计算机视觉】CV实践- 基于PaddleSeg的遥感建筑变化检测全解析:从U-Net 3+原理到工程实践
  • 什么是 MCP?与 AI Agent 的关系是什么?
  • 14.ArkUI Radio的介绍和使用