# dynamic-datasource **Repository Path**: JoneWu/dynamic-datasource ## Basic Information - **Project Name**: dynamic-datasource - **Description**: 多主多从的多数据源配置,支持mysql,postgresql等数据库类型 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2018-12-13 - **Last Updated**: 2021-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 基于springboot集成mybatis的多数据源、读写分离、动态切换 > 本项目为Demo工程,采用SpringBoot2.X和Mybatis来实现一个多数据源,读写分离,动态数据源的切换。很多时候我们看到的都是一主多从的多数据 源模式,但是随着项目的深入,我们发现,有时候需要的主库可能不知一个,需要根据业务的切分,将数据写到不同的主库中。这时候就涉及到来多主多从 的概念。这里非常感谢前辈们实现的各种一主多从的方案,我在次基础上集成的来多主多从的概念,从库实现动态的均衡切换。 ### 写在前面 > 本项目采用的是两种数据库类型的配置方式,`mysql`和`postpresql`数据库。分别为它们配置来一主一从的模式。为了减轻数据库的压力,当一个数 据库类型下有多个从库时,将采取轮询的方式进行从库的选择切换。 > 我们的思路非常的简单,主要去改变`spring`管理的`DataSource`,当我们有多个数据源时,将提前准备好这些数据源根据不同的情况具体调用即可。具体 说明如下:就是通过不同的条件在执行数据库操作前来切换对应的数据源即可 > * 将所有的需要的数据源配置到`DataSource`中 > * 通过`AOP`的方式来获取请求接口的信息 > * 通过`Mapper`映射接口所在的包路径进行多个主库的选 > * `Mapper`映射接口中所调用的方法来进行主库或者从库的选择 ### 简单说明