【SpringBoot】数据库多数据源
发布日期:2021-06-30 21:35:41
浏览次数:2
分类:技术文章
本文共 2267 字,大约阅读时间需要 7 分钟。
两个项目间数据同步的需求,需要同时操作多个库多需求
扫描数据源
component中创建不同的文件
DataSourceDefault@Configuration@MapperScan(basePackages = { "com.xxx.dao"}, sqlSessionFactoryRef = "sqlSessionFactory2")public class DataSourceDefault { @Bean(name = "dataSource") @ConfigurationProperties(prefix = "spring.datasource") public DataSource dataSource() { return DruidDataSourceBuilder.create().build(); } @Bean @Primary public SqlSessionFactory sqlSessionFactory2(DataSource dataSource) throws Exception { SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean(); factoryBean.setDataSource(dataSource); factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml")); return factoryBean.getObject(); } @Bean @Primary public SqlSessionTemplate sqlSessionTemplate2(@Qualifier("dataSource") DataSource dataSource) throws Exception { return new SqlSessionTemplate(sqlSessionFactory2(dataSource)); }}
DataSourceReport
@Configuration@MapperScan(basePackages = { "com.xxx.daoReport"}, sqlSessionFactoryRef = "sqlSessionFactory1")public class DataSourceReport { @Bean(name = "reportDataSource") @ConfigurationProperties(prefix = "report.datasource") public DataSource dataSourceReport() { return DruidDataSourceBuilder.create().build(); } @Bean public SqlSessionFactory sqlSessionFactory1(DataSource reportDataSource) throws Exception { SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean(); factoryBean.setDataSource(reportDataSource); factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapperReport/*.xml")); return factoryBean.getObject(); } @Bean public SqlSessionTemplate sqlSessionTemplate1(@Qualifier("reportDataSource") DataSource dataSourceReport) throws Exception { return new SqlSessionTemplate(sqlSessionFactory1(dataSourceReport)); }}
配置中心配置不同数据源的配置信息,在配置时根据数据源配置的前缀进行区分
如上面两个数据源@ConfigurationProperties(prefix = "spring.datasource")@ConfigurationProperties(prefix = "report.datasource")
dao文件
不同数据源的dao文件创建在不同的文件夹下
xml文件
不同数据源的mapper文件创建在不同的文件夹中
在xml文件中指明数据源...
这样就可以在简易的进行不同数据库数据源的读取了
转载地址:https://lluozh.blog.csdn.net/article/details/107092102 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年05月01日 16时50分28秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基础架构系列篇-CENTOS7安装NGINX
2019-04-30
基础架构系列篇-系统centos7安装docker+COMPOSE
2019-04-30
基础架构系列篇-NGINX部署VUE
2019-04-30
个人电商项目,基于uni-app+ springcloud +VUE技术
2019-04-30
基础架构系列篇-系统centos7安装kafka
2019-04-30
基础架构系列篇-系统centos7中docker安装分布式文件存储服务minio
2019-04-30
知识点记录-java判断系统是linux或windows
2019-04-30
知识点记录-springboot静态资源映射路径
2019-04-30
微服务springcloud2系列篇-配置与注册nacos组件
2019-04-30
用户权限设计-基于RBAC模型
2019-04-30
微服务springcloud2系列篇-网关GATEWAY跨域问题
2019-04-30
软件质量的8个特性
2019-04-30
应届渣渣前端的艰难求职之路
2019-04-30
2021年不可错过的17种JS优化技巧(一)
2019-04-30
月薪15~20k的前端面试问什么?
2019-04-30
在 Vue 中用 Axios 异步请求API
2019-04-30
mysql——介绍及安装与基本用法
2019-04-30
MYSQL——事务操作+视图+存储引擎
2019-04-30
MySQL进阶查询(SELECT 语句高级用法)
2019-04-30
Mysql 之主从复制
2019-04-30