前言:
做一个移动应用的后台服务器,涉及到多数据库,以及数据库集群配置:数据源用spring管理,中间封装了自己的jdbc
看配置文件:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="pm" class="*****.hibernate.HibernatePersistenceManager"> <property name="sessionFactory"> <ref bean="sessionFactorydx" /> </property> </bean> <bean id="dbTool" class="***.util.DBTool"> <property name="dataSource"> <ref bean="dataSourcedx" /> </property> </bean> <bean id="jdbcPM" class="*****.jdbc.JDBCPersistenceManager"> <property name="dbTool"> <ref bean="dbTool" /> </property> </bean> > </property> </bean> <bean id="dbToolbao" class="***.util.DBTool"> <property name="dataSource"> <ref bean="dataSourceBaob" /> </property> </bean> <bean id="jdbcCore" class="****.jdbc.JDBCPersistenceManager"> <property name="dbTool"> <ref bean="dbToolbao" /> </property> </bean> <bean id="dataSourceBaob" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@(description = (failover = on) (address_list = (address = (protocol = tcp)(host = ***)(port = ***)) (address = (protocol = tcp)(host = ***)(port = ***))) (CONNECT_DATA = (SERVICE_NAME =****) (SERVER = DEDICATED) (FAILOVER_MODE = (TYPE = select) (METHOD = basic)))) " /> <property name="" value="" /> <property name="" value="" /> </bean> <bean id="dataSourcedx" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=P****)(PORT=**))(CONNECT_DATA=(SERVER=dedicated)(SID=***)))" /> <property name="username" value="**v" /> <property name="password" value="****" /> </bean> </beans>
上面的配置文件,关键信息已经屏蔽,大致配置过程有,里面配了两个数据源,一个普通的数据源,另外一个集群数据库数据源配置。如果大家在陪集群数据源时出错,很可能是引入的class12.jar包不全,建议重新换jar包,因为这个原因在本地测试时发现拿conn时 不稳定,时有时无。开始我们还以为是网络问题,后来发现是class12.jar包中某些文件缺失,正规的class12.jar包大概1.2M,如果少了肯定就是不对的。
说明:1.自己封装的JDBCPersistenceManager ,这个类里有dbtool这个属性,这个属性为DBTool类型
2.datasource其实是封装在DBTool类里.
我们用的是JDBCPersistenceManager 这个类拿数据库连接.
2.如果大家部署到服务器上,比如在weblogic上配置,则改成如下形式即可:
<bean id="dataSourceBaob" class="org.springframework.jndi.JndiObjectFactoryBean" > <property name="jndiName"> <value>dataSourceBaob</value> </property> </bean> <bean id="dataSourcedx" class="org.springframework.jndi.JndiObjectFactoryBean" > <property name="jndiName"> <value>dataSourcedx</value> </property> </bean>
数据源配置一样,只不过把数据源交给jndi管理了
写的比较乱,大家见谅,因为在上班。。嘎嘎
相关推荐
### Spring MVC 中配置多数据源详解 在Spring框架中配置多数据源的需求比较常见,尤其在需要处理不同类型的数据库或需要实现数据隔离的应用场景中。本文将详细介绍如何在Spring MVC项目中配置并使用多数据源。 ###...
2. 配置数据源 在`application.yml`或`application.properties`文件中,为每个数据源定义配置: ```yaml spring: datasource: primary: # 主数据源 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:...
总结来说,Spring Boot + JPA 的多数据源配置需要对Spring的配置机制有深入理解,包括自动配置、bean的创建、数据源的切换等。同时,合理组织实体类和数据库访问层,确保代码的可维护性和扩展性。这个名为`...
### Spring 数据源配置详解 #### 一、Spring与数据源简介 在Java企业级应用开发中,数据库操作是必不可少的一部分。Spring框架作为一种流行的轻量级Java应用开发框架,提供了强大的数据库访问支持,其中包括对数据...
在开发企业级应用程序时,有时我们需要连接到不止一个数据库,比如主从数据库分离、读写分离、多租户系统等场景...记住,正确管理和配置数据源对于系统的稳定性和性能至关重要,因此在实际操作时一定要仔细检查和测试。
在Spring Boot和Spring Cloud的背景下,我们可以通过Spring的多数据源配置来实现这一目标。 1. **配置多数据源**:Spring Boot提供了DataSourceAutoConfiguration,它允许我们配置多个数据源。每个数据源可以有自己...
在企业级应用开发中,数据源的管理是一个关键部分,特别是在需要访问多个数据库的应用中。SpringBoot框架以其简洁的配置和强大的功能深受...通过理解和实践这些知识点,你将能够更好地应对多数据源场景下的开发挑战。
在Spring Boot应用中,使用`spring-data-jpa`来配置MySQL多数据源是一项常见的需求,尤其是在构建大型分布式系统时,为了实现数据隔离、负载均衡或读写分离等目的。本教程将详细介绍如何在Spring Boot项目中配置多个...
3. **配置数据源路由**:为了在代码中动态选择使用哪个数据源,可以使用`AbstractRoutingDataSource`,它可以根据预设的规则或运行时条件决定使用哪个数据源。 4. **配置Hibernate和MyBatis**:为每个数据源配置...
- 注意事务管理的配置,确保在多数据源环境下事务的一致性。 8. **应用场景**: - 分布式系统中,不同的服务可能需要连接不同的数据库。 - 高并发场景下,可以通过数据源分片来分散压力。 - 读写分离,主库负责...
1. **数据源配置**:在Spring配置文件中,我们需要定义多个数据源bean,每个数据源对应一个数据库连接。这可能包括Druid或HikariCP这样的连接池配置。 2. **动态数据源**:Spring的AbstractRoutingDataSource类允许...
Spring框架作为一个强大的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)容器,提供了多种配置数据源的方式,其中包括通过JNDI(Java Naming and Directory Interface)来查找和配置数据源。...
Spring Boot配置动态数据源访问多个数据库实现代码详解 通过Spring Boot配置动态数据源访问多个数据库可以实现数据库的动态增删和数量无限的支持,下面将详细介绍该实现代码的知识点。 数据源配置管理 在Spring ...
Spring3 整合 MyBatis3 配置多数据源动态选择 SqlSessionFactory 详细教程 本教程主要介绍了 Spring3 整合 MyBatis3 配置多数据源动态选择 SqlSessionFactory 的详细教程。下面将详细介绍如何实现 Spring 整合 ...
在Spring Boot应用中,多数据源配置是一项重要的技术实践,特别是在大型系统中,可能需要连接到多个数据库以实现数据隔离、读写分离或是分布式事务管理。Spring Boot以其强大的自动化配置能力,使得设置多数据源变得...
1. **配置数据源**:首先,我们需要为每个数据源创建一个单独的DataSource bean。这些数据源可以是JDBC的SimpleDriverDataSource,也可以是其他支持的类型,如Druid或HikariCP。 2. **定义路由规则**:然后,我们...
1. **配置数据源**:在`application.properties`或`application.yml`文件中,为每个数据源定义相应的属性,如URL、用户名、密码和驱动类名。 2. **创建数据源bean**:利用@ConfigurationProperties绑定配置文件中的...
1. **配置数据源**:定义数据源对象,用于连接数据库。 2. **事务管理器**:配置事务管理器,以便Spring可以管理事务。 3. **SqlSessionFactory**:创建SqlSessionFactory对象,这是MyBatis的核心工厂类,用于创建...
Spring多数据源配置,支持mysql、oracle等多个数据源同时存在的情况
在Spring配置文件中,可以通过`org.springframework.jndi.JndiObjectFactoryBean`类来定义一个数据源。例如: ```xml <bean id="sysDB" class="org.springframework.jndi.JndiObjectFactoryBean"> <value>hzsh_...