本篇内容介绍了“SpringBoot中如何使用Dynamic Datasource配置多数据源”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
源码地址/文档说明
功能特性:
-
支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。
-
支持无数据源启动,支持配置懒启动数据源(3.3.2+)。
-
支持数据库敏感配置信息 加密 ENC()。
-
支持每个数据库独立初始化表结构schema和数据库database。
-
支持 自定义注解 ,需继承DS(3.2.0+)。
-
提供对Druid,Mybatis-Plus,P6sy,Jndi的快速集成。
-
简化Druid和HikariCp配置,提供 全局参数配置 。配置一次,全局通用。
-
提供 自定义数据源来源 方案。
-
提供项目启动后 动态增加移除数据源 方案。
-
提供Mybatis环境下的 纯读写分离 方案。
-
提供使用 spel动态参数 解析数据源方案。内置spel,session,header,支持自定义。
-
支持 多层数据源嵌套切换 。(ServiceA >>> ServiceB >>> ServiceC)。
-
提供对shiro,sharding-jdbc,quartz等第三方库集成的方案,注意事项和示例。
-
提供 基于seata的分布式事务方案。 附:不支持原生spring事务。
-
提供 本地多数据源事务方案。 附:不支持原生spring事务(3.3.1+)。
mysql实现读写分离,一主多从环境
主数据库建议只执行 INSERT、UPDATE、DELETE 操作。
从数据库建议只执行 SELECT 操作。
准备数据库
主库:PiaoDB
从库1:PiaoDB2
从库2:PiaoDB3
导入POM文件
引入dynamic-datasource-spring-boot-starter。
<!-- 多数据源 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-sta