说明
适用环境:SpringBoot / MyBatis / Atomickos
特性:
- 多数据源,动态切换
- 多数据源,XA分布式事务支持(需引入Atomickos)
仅支持Mybatis,采用AbstractRoutingDataSource实现数据源动态切换。 引入Atomickos分布式事务,可支持多数据源动态切换分布式事务。
使用方法
引入jar包依赖 maven:
<dependency>
<groupId>com.tomz</groupId>
<artifactId>xatomic</artifactId>
<version>1.0.0</version>
</dependency>
gradle:
implementation 'com.tomz:xatomic:1.0.0'
使用注解切换数据源@DynamicDataSource,可以放在类或者方法上。
-
多数据源功能
配置文件示例:对于name属性,当数据源集合中存在name=default的数据源时,该数据源作为默认数据源 ,不加@DynamicDataSource默认使用该数据源,否则取集合中的第一个数据源作为默认数据源spring: datasources: - name: ds1 type: com.zaxxer.hikari.HikariDataSourc