获取配置的数据源
for(IDataSourceCfgVO sourceCfgVO:allDataSourceList){
if(!dataSourceMap.containsKey(sourceCfgVO.getCfgCode())){
/*
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(sourceCfgVO.getDriverClass());
dataSource.setPassword(sourceCfgVO.getPasswd());
dataSource.setUrl(sourceCfgVO.getJdbcUrl());
dataSource.setUsername(sourceCfgVO.getUserName());
dataSourceMap.put(sourceCfgVO.getCfgCode(), dataSource);*/
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(sourceCfgVO.getDriverClass());
dataSource.setMaxActive(sourceCfgVO.getMaxActive());
dataSource.setMaxIdle(sourceCfgVO.getMaxIdle());
dataSource.setMaxWait(sourceCfgVO.getMaxWait());
dataSource.setPassword(sourceCfgVO.getPasswd());
dataSource.setUrl(sourceCfgVO.getJdbcUrl());
dataSource.setUsername(sourceCfgVO.getUserName());
dataSource.setInitialSize(sourceCfgVO.getInitialSize());
dataSource.setPoolPreparedStatements(true);
dataSourceMap.put(sourceCfgVO.getCfgCode(), dataSource);
}
allDataSourceCfgMap.put(sourceCfgVO.getCfgCode(), sourceCfgVO);
}
使用数据源
JdbcTemplate newJdbcTemplate = getJdbcTemplate(dataSource);
return newJdbcTemplate.queryForList(sqlStr);
数据源VO
private java.lang.String id;
// fields
private java.lang.String cfgCode;
private java.lang.String cfgName;
private java.lang.String driverClass;
private java.lang.String jdbcUrl;
private java.lang.String userName;
private java.lang.String passwd;
private java.lang.String remark;
//最大激活链接数
private java.lang.Integer maxActive;
private java.lang.Integer maxIdle;
private java.lang.Integer maxWait;
private java.lang.Integer initialSize;
分享到:
相关推荐
Java多数据源是指在一个应用中使用不止一个数据库源,比如一个应用可能需要同时操作MySQL和Oracle数据库,或者在同一数据库中管理生产数据和测试数据。这种设计模式可以帮助我们灵活地分配和管理数据,提高系统的可...
本项目围绕“Java简单分布式架构,多个数据源,线程池多线程访问”这一主题展开,旨在通过利用Java技术栈实现一个高效的分布式系统。 首先,我们关注的是“分布式”这一概念。分布式系统是由多台计算机通过网络连接...
在实现动态数据库切换时,我们需要创建多个数据源配置。每个数据源代表一个数据库连接信息,包括URL、用户名、密码等。SpringMVC可以通过配置不同的`DataSource`bean来实现这一点。例如,我们可以创建两个`...
项目框架是springMVC+hibernate,一个简单的demo易懂,数据库配置自己修改datasource.properties文件,其中连接了两个MySQL数据库,数据库分别各有一张表,一张student表和一张t_user需要自己创建
双数据源配置是指在一个应用中同时管理两个或更多的数据源,每个数据源可以连接到不同的数据库。在SpringBoot框架中,我们通常会使用`@ConfigurationProperties`注解来配置数据源,并通过`@Primary`注解指定默认数据...
本教程将深入探讨如何在Spring中配置和管理多个数据源,并以MySQL为例进行实战演示。 首先,我们需要理解Spring Boot对数据源的默认支持。Spring Boot通过`spring.datasource.*`的配置属性简化了数据库连接的设置,...
在处理多数据源时,Spring Boot提供了`@ConfigurationProperties`和`DataSourceAutoConfiguration`等机制,允许我们在配置文件(如application.yml或application.properties)中定义多个数据源的连接参数,然后在...
1. 配置数据源:在Spring的配置文件中,为每个数据源创建一个DataSource Bean,如:primaryDataSource和secondaryDataSource。 ```xml <!-- 数据源属性配置 --> <!-- 数据源属性配置 --> ``` 2. 配置数据源...
3. **配置MyBatis**:在MyBatis的配置文件中,为每个数据源设置独立的SqlSessionFactory,并通过@SelectProvider、@InsertProvider等方式指定数据源。 4. **动态切换数据源**:在业务代码中,可以通过AOP(面向切面...
在Java开发中,特别是在大型企业级应用中,处理多个数据源和分布式事务是常见的需求。本DEMO展示了如何使用Spring框架、Mybatis持久层框架以及Atomikos事务管理器来实现这一目标。以下是对这个DEMO中涉及的技术点的...
最近项目中的工作流需要查询多个数据源的数据,数据源可能是不同种类的:如sql server,oracl等等,一开始是用的配置实现,后来发现在项目运行中,可能需要动态的添加更多不同类型的数据源,所以最终的逻辑是将数据源...
本文将深入探讨如何使用Java来实现多个数据库之间的数据同步。 首先,我们需要理解数据同步的含义。数据同步是指在两个或多个数据库之间,当某个数据库中的数据发生改变时,这些变化能够被实时或者近实时地反映到...
### JasperReport中使用多个数据源的方法详解 #### 场景背景 在报表开发过程中,有时我们需要在一个报表中展示不同来源的数据。例如,在同一份报告中同时呈现交叉表和饼状图,而这两部分数据可能源自不同的数据库表...
在Java开发中,多数据源配置是常见的需求,特别是在大型企业级应用中,可能需要连接到多个数据库,例如,一个用于存储主业务数据,另一个用于日志或审计数据。本篇将详细介绍如何通过注解的方式来实现Java中的多数据...
5. **多数据源配置**:在Spring Boot项目中,可以通过配置多个数据源来支持分布式事务。每个数据源对应一个数据库连接池,并使用特定的数据源事务管理器。 6. **开源工具和库**:如Atomikos、Bitronix等事务管理器...
jasperreport允许使用多个数据源,这对于处理复杂报表场景非常有用。例如,一个报表可能需要合并来自不同数据库或不同JavaBean的数据。jasperreport通过定义多个JRDataSource和在报表设计中分别引用它们来实现这一...
总的来说,中国省市区数据源的Java解析是地理信息系统开发的重要环节,它涉及到数据读取、处理、存储和查询等多个层面。通过有效的Java编程,我们可以构建出高效、准确的地理信息服务,服务于各类应用场景。理解和...
假设我们有两个数据源,分别命名为`dataSource1`和`dataSource2`: ```java @Service public class UserService { @UseDataSource("dataSource1") public User getUserByIdFromSource1(Long id) { // 这里将...
将数据分为多个小块,每块生成一个Excel文件,这样可以降低内存消耗并提高处理效率。通常,块的大小根据实际内存和系统性能进行调整。 3. **多线程处理**: 为了进一步优化性能,可以考虑使用多线程同时处理不同数据...
总结来说,SpringBoot实现多数据源和动态切换的关键在于正确配置多个数据源,创建自定义的AOP切面和ThreadLocal上下文。在实际项目中,还需要考虑事务管理、异常处理等复杂情况,确保数据的一致性和安全性。通过理解...