package com.xiaoming.dds.config;
import com.xiaoming.dds.enums.DynamicDbEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import javax.sql.DataSource;
import java.util.HashMap;
@Configuration
public class DatabaseConfig {
@Autowired
private DataSourceDB2Property dataSourceDB2Property;
@Autowired
private DataSourceDB1Property dataSourceDB1Property;
/**
* 子公司1员工数据库
* @return
*/
@Bean(name = "DataSource1")
@Qualifier("DataSource1")
public DataSource dataSource1(){
return DataSourceBuilder.create()
.driverClassName(dataSourceDB1Property.getDriverClassName())
.url(dataSourceDB1Property.getUrl())
.username(dataSourceDB1Property.getUsername())
.password(dataSourceDB1Property.getPassword())
.build();
}
/**
* 子公司2员工数据库
* @return
*/
@Bean(name = "DataSource2")
@Qualifier("DataSource2")
public DataSource dataSource2(){
return DataSourceBuilder.create()
.driverClassName(dataSourceDB2Property.getDriverClassName())
.url(dataSourceDB2Property.getUrl())
.username(dataSourceDB2Property.getUsername())
.password(dataSourceDB2Property.getPassword())
.build();
}
@Bean(name = "dynamicDataSource")
@Primary //配置优先生效
public DataSource dynamicDataSource() {
CustomDynamicDatasource datasource = new CustomDynamicDatasource();
//设置数据源
datasource.dataSourceMap = new HashMap<>();
datasource.dataSourceMap.put(DynamicDbEnum.DB1.getDbCode(),dataSource1());
datasource.dataSourceMap.put(DynamicDbEnum.DB2.getDbCode(),dataSource2());
//存放所有数据源
datasource.setTargetDataSources(datasource.dataSourceMap);
//设置默认数据源
datasource.setDefaultTargetDataSource(dataSource1());
//存储数据源编码
CustomDynamicDataSourceContextHolder.dataSourceList.addAll(datasource.dataSourceMap.keySet());
return datasource;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java多数据源案例使用项目
共122个文件
xml:82个
class:15个
java:15个
需积分: 0 7 下载量 8 浏览量
2023-05-30
18:25:19
上传
评论
收藏 92KB ZIP 举报
温馨提示
公司为了规范信息管理,想要统一处理两个子公司员工的数据。这些信息原本分别由子公司各自管理,分别在不同的数据库,但是信息遵循了相同的规则。那么如何才能多个数据库共用一套业务代码,简化开发呢?
资源推荐
资源详情
资源评论
收起资源包目录
java多数据源案例使用项目 (122个子文件)
Employee.class 5KB
R.class 5KB
DataSourceDB1Property.class 3KB
DataSourceDB2Property.class 3KB
DatabaseConfig.class 3KB
CustomDynamicDbchangeAspect.class 2KB
DynamicDbEnum.class 2KB
CustomDynamicDataSourceContextHolder.class 1KB
CustomDynamicDatasource.class 1KB
EmployeeController.class 1KB
EmployeeServiceImpl.class 1KB
DdsApplication.class 937B
CustomDynamicDbChange.class 523B
EmployeeService.class 439B
EmployeeMapper.class 314B
.DS_Store 6KB
.DS_Store 6KB
.gitignore 395B
.gitignore 0B
DatabaseConfig.java 2KB
CustomDynamicDbchangeAspect.java 2KB
R.java 1015B
CustomDynamicDatasource.java 802B
EmployeeController.java 786B
EmployeeServiceImpl.java 782B
CustomDynamicDataSourceContextHolder.java 751B
DdsApplication.java 535B
EmployeeService.java 505B
Employee.java 500B
DataSourceDB2Property.java 483B
DataSourceDB1Property.java 483B
DynamicDbEnum.java 478B
EmployeeMapper.java 401B
CustomDynamicDbChange.java 359B
companybase1.postman_collection.json 832B
companybase2.postman_collection.json 832B
HELP.md 7KB
company.sql 6KB
uiDesigner.xml 9KB
workspace.xml 4KB
pom.xml 3KB
EmployeeMapper.xml 1KB
EmployeeMapper.xml 1KB
jarRepositories.xml 861B
compiler.xml 843B
Maven__com_github_pagehelper_pagehelper_spring_boot_autoconfigure_1_4_6.xml 773B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_12_3.xml 766B
Maven__com_github_xiaoymin_knife4j_openapi2_spring_boot_starter_4_0_0.xml 765B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_3_0.xml 760B
Maven__org_springframework_plugin_spring_plugin_metadata_2_0_0_RELEASE.xml 751B
Maven__com_github_pagehelper_pagehelper_spring_boot_starter_1_4_6.xml 731B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_12_3.xml 725B
Maven__org_springframework_plugin_spring_plugin_core_2_0_0_RELEASE.xml 723B
Maven__org_springframework_boot_spring_boot_starter_logging_2_5_0.xml 722B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_3_0.xml 718B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_5_0.xml 715B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_12_3.xml 711B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_5_0.xml 708B
Maven__org_springframework_boot_spring_boot_starter_json_2_5_0.xml 701B
Maven__org_springframework_boot_spring_boot_starter_jdbc_2_5_0.xml 701B
Maven__org_springframework_boot_spring_boot_starter_web_2_5_0.xml 694B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_46.xml 690B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_12_3.xml 681B
Maven__io_springfox_springfox_bean_validators_2_10_5.xml 667B
Maven__org_springframework_boot_spring_boot_starter_2_5_0.xml 666B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 663B
Maven__io_springfox_springfox_swagger_common_2_10_5.xml 660B
Maven__com_baomidou_mybatis_plus_boot_starter_3_4_2.xml 660B
Maven__com_fasterxml_jackson_core_jackson_databind_2_12_3.xml 660B
Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_46.xml 655B
Maven__io_springfox_springfox_spring_webmvc_2_10_5.xml 653B
Maven__com_baomidou_mybatis_plus_annotation_3_4_2.xml 646B
Maven__com_github_xiaoymin_knife4j_openapi2_ui_4_0_0.xml 646B
Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_46.xml 641B
Maven__com_baomidou_mybatis_plus_extension_3_4_2.xml 639B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_14_1.xml 638B
Maven__com_fasterxml_jackson_core_jackson_core_2_12_3.xml 632B
Maven__org_springframework_spring_expression_5_3_7.xml 632B
Maven__io_springfox_springfox_spring_web_2_10_5.xml 632B
Maven__io_springfox_springfox_swagger2_2_10_5.xml 618B
Maven__org_springframework_spring_context_5_3_7.xml 611B
Maven__io_swagger_swagger_annotations_1_6_6.xml 610B
Maven__org_springframework_boot_spring_boot_2_5_0.xml 610B
Maven__com_baomidou_mybatis_plus_core_3_4_2.xml 604B
Maven__io_springfox_springfox_schema_2_10_5.xml 604B
Maven__org_springframework_spring_webmvc_5_3_7.xml 604B
Maven__mysql_mysql_connector_java_5_1_49.xml 604B
Maven__org_apache_logging_log4j_log4j_api_2_14_1.xml 603B
Maven__ch_qos_logback_logback_classic_1_2_3.xml 598B
Maven__com_github_xiaoymin_knife4j_core_4_0_0.xml 597B
Maven__org_springframework_spring_beans_5_3_7.xml 597B
Maven__org_mapstruct_mapstruct_1_3_1_Final.xml 594B
Maven__com_github_pagehelper_pagehelper_5_3_2.xml 591B
Maven__io_springfox_springfox_core_2_10_5.xml 590B
Maven__org_springframework_spring_core_5_3_7.xml 590B
Maven__org_springframework_spring_jdbc_5_3_7.xml 590B
Maven__io_github_classgraph_classgraph_4_1_7.xml 587B
Maven__org_springframework_spring_aop_5_3_7.xml 583B
Maven__org_springframework_spring_web_5_3_7.xml 583B
Maven__org_springframework_spring_jcl_5_3_7.xml 583B
共 122 条
- 1
- 2
资源评论
请叫我张小明
- 粉丝: 11
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功