package com.multi.data.datascore;
/**
* 多数据源配置类
* Created by Yang on 2018/6/6
*/
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Map;
@Configuration
public class DataSourceConfig {
//数据源1
@Bean(name = "datasource1")
@ConfigurationProperties(prefix = "spring.datasource.db1") // application.properteis中对应属性的前缀
public DataSource dataSource1() {
return DataSourceBuilder.create().build();
}
//数据源2
@Bean(name = "datasource2")
@ConfigurationProperties(prefix = "spring.datasource.db2") // application.properteis中对应属性的前缀
public DataSource dataSource2() {
return DataSourceBuilder.create().build();
}
/**
* 动态数据源: 通过AOP在不同数据源之间动态切换
*
* @return
*/
@Primary
@Bean(name = "dynamicDataSource")
public DataSource dynamicDataSource() {
DynamicDataSource dynamicDataSource = new DynamicDataSource();
// 默认数据源
dynamicDataSource.setDefaultTargetDataSource(dataSource1());
// 配置多数据源
Map<Object, Object> dsMap = new HashMap();
dsMap.put("datasource1", dataSource1());
dsMap.put("datasource2", dataSource2());
dynamicDataSource.setTargetDataSources(dsMap);
return dynamicDataSource;
}
/**
* 配置@Transactional注解事物
*
* @return
*/
@Bean
public PlatformTransactionManager transactionManager() {
return new DataSourceTransactionManager(dynamicDataSource());
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
SpringBoot+gradle+mybatis多数据源动态配置
共38个文件
java:12个
class:11个
properties:3个
4星 · 超过85%的资源 需积分: 15 37 下载量 13 浏览量
2018-06-06
14:54:45
上传
评论
收藏 70KB RAR 举报
温馨提示
SpringBoot+gradle+mybatis多数据源动态配置 AOP的方式实现数据源动态切换。
资源推荐
资源详情
资源评论
收起资源包目录
multidata.rar (38个子文件)
gradlew.bat 2KB
gradlew 5KB
.gradle
4.4
fileHashes
fileHashes.lock 17B
fileHashes.bin 18KB
fileChanges
last-build.bin 1B
gradle
wrapper
gradle-wrapper.jar 53KB
gradle-wrapper.properties 202B
src
test
resources
java
com
multi
data
MultidataApplicationTests.java 343B
main
resources
application.properties 1KB
templates
static
mapper
MoredataMapper.xml 880B
java
com
multi
data
MultidataApplication.java 650B
ServletInitializer.java 414B
pojo
User.java 771B
mapper
MoredataMapper.java 439B
controller
MoredataController.java 1KB
service
MoredataService.java 1KB
datascore
DS.java 400B
DynamicDataSourceAspect.java 2KB
DataSourceConfig.java 2KB
DataSourceContextHolder.java 705B
DynamicDataSource.java 428B
out
production
resources
application.properties 1KB
mapper
MoredataMapper.xml 880B
classes
com
multi
data
MultidataApplication.class 809B
pojo
User.class 1KB
mapper
MoredataMapper.class 534B
ServletInitializer.class 876B
controller
MoredataController.class 2KB
service
MoredataService.class 2KB
datascore
DataSourceContextHolder.class 1KB
DynamicDataSourceAspect.class 2KB
DataSourceConfig.class 2KB
DS.class 456B
DynamicDataSource.class 886B
.gitignore 284B
settings.gradle 26B
build
tmp
war
MANIFEST.MF 25B
build.gradle 1KB
共 38 条
- 1
资源评论
- star0262020-11-09正在研究分库分表,虽然最终没有采用楼主的方式,但也学到了一些东西,感谢
AlanQuain
- 粉丝: 2
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab主成分分析图像压缩重建系统代码14
- C语言《基于AT89C52单片机搭建的PID直流电机控制程序,主要用于Proteus电路仿真》+源代码
- C++《基于规划和汽车动力学的自动驾驶项目仿真(基于ROS的自动驾驶项目仿真,使用DWA路径规划算法和双PID控制器)》+源代码
- vos3000客户端2.1.7.03、2.1.8.05、2.1.9.07
- c++《用于船舶控制方法研究的3D船舶运动仿真软件》+源代码
- globalmapper24
- Python 小游戏 (贪吃蛇、五子棋、扫雷、俄罗斯方块)源码.zip
- Map data that can be used for 2D raster map path planning
- 关于电子技术数字电路的芯片模拟.zip
- 普中开发板proteus仿真电路V2.6
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功