一、首先配置hibernate数据源:
- <?xmlversion="1.0"encoding="UTF-8"?>
-
<!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN2.0//EN""http://www.springframework.org/dtd/spring-beans-2.0.dtd">
-
<beans>
-
-
<beanid="oraclesessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
-
<propertyname="configLocation">
-
<value>WEB-INF/classes/oracle-h.cfg.xml</value>
-
</property>
-
</bean>
-
<beanid="oracletransactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager">
-
<propertyname="sessionFactory">
-
<reflocal="sessionFactory"/>
-
</property>
-
</bean>
-
-
<beanid="sqlServersessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
-
<propertyname="configLocation">
-
<value>WEB-INF/classes/sqlserver-h.cfg.xml</value>
-
</property>
-
</bean>
-
<beanid="sqlServerTransactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager">
-
<propertyname="sessionFactory">
-
<reflocal="sqlServersessionFactory"/>
-
</property>
-
</bean>
-
- .................
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<!--1、Oracle 数据源配置-->
<bean id="oraclesessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>WEB-INF/classes/oracle-h.cfg.xml</value>
</property>
</bean>
<bean id="oracletransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<!--2、SQLServer 数据源配置-->
<bean id="sqlServersessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>WEB-INF/classes/sqlserver-h.cfg.xml</value>
</property>
</bean>
<bean id="sqlServerTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sqlServersessionFactory" />
</property>
</bean>
<!--3、其他数据源配置-->
.................
2、配置spring的事务拦截器(AOP):
-
<tx:adviceid="oracleTxAdvice"transaction-manager="oracletransactionManager">
-
<tx:attributes>
-
<tx:methodname="find*"read-only="true"/>
-
<tx:methodname="get*"read-only="true"/><tx:methodname="notx*"propagation="NEVER"/>
-
<tx:methodname="*"rollback-for="自定义Exception"/>
-
</tx:attributes>
-
</tx:advice>
-
-
<tx:adviceid="sqlserverTxAdvice"transaction-manager="sqlservertransactionManager">
-
<tx:attributes>
-
<tx:methodname="find*"read-only="true"/>
-
<tx:methodname="get*"read-only="true"/><tx:methodname="notx*"propagation="NEVER"/>
-
<tx:methodname="*"rollback-for="自定义Exception"/>
-
</tx:attributes>
-
</tx:advice>
-
- .................
-
-
<beanid="serviceAutoProxyCreator"class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
-
<propertyname="beanNames">
-
<list>
-
<value>*Service</value>
-
</list>
-
</property>
-
<propertyname="interceptorNames">
-
<list>
-
<value>oracleTxAdvice</value>
-
<value>sqlServerTxAdvice</value>
-
<value>XXXXXTxAdvice</value>
-
</list>
-
</property>
-
</bean>
分享到:
相关推荐
接着,描述中的"Spring+Hibernate多数据源的整合实现demo"意味着这是一个实际操作的示例,它可能包含了一个或多个配置文件和Java代码,展示了如何在Spring Boot或者传统的Spring环境下配置和使用多数据源。在Spring ...
在多数据源的场景下,Hibernate提供了灵活的数据源配置,可以在同一个应用中管理多个数据库连接。这通常通过定义不同的SessionFactory配置和DataSource实例来实现。 **MyBatis** 则是一个轻量级的ORM框架,它比...
对于多数据源,我们需要创建多个数据源配置,例如: ```yaml spring: datasource: primary: url: jdbc:mysql://localhost:3306/main_db username: root password: password driver-class-name: ...
"spring3+springmvc+jpa+hibernate多数据源"是一个示例项目,它演示了如何在一个应用中集成Spring 3、Spring MVC、JPA 2.0以及Hibernate,以实现对多个数据源的支持。下面将详细介绍这些技术及其集成的关键点。 **...
为了操作多个数据库,需要在Spring配置文件中配置多个数据源,并为每个数据源配置相应的SessionFactory。这时会遇到如何区分和管理不同数据源下的SessionFactory的问题。 知识点四:使用GoF装饰器模式 为了更好的...
1. **配置数据源**:在Spring的配置文件中定义多个DataSource bean,每个bean代表一个数据源。例如,我们可以分别为生产环境和测试环境设置不同的数据源。 2. **配置SessionFactory**:为每个数据源创建一个...
在多数据源环境中,Hibernate可以通过SessionFactory配置多个数据源,每个数据源对应一个SessionFactory。 3. **Atomikos**: Atomikos是一个开源的JTA(Java Transaction API)实现,提供分布式事务管理服务。在...
首先,创建一个父数据源(parentDataSource),用于配置多个数据源共有的信息: ```xml <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="username" value="root">...
该配置文件连接的是两个数据库结构相同的数据源,其他比如数据库结构不原理也可行。本人在遇到此问题时上网搜了很多答案结果都不怎么如意,有的太深奥不过思想很好,有的又太不给力,后来自己慢慢研究配置成功后想与...
"Spring3+Hibernate4+Maven+JUnit 多库多数据源实现"是一个典型的Java Web项目配置,它涉及了多个核心技术来处理复杂的数据管理需求。下面将详细阐述这些技术以及如何协同工作以实现多库多数据源。 首先,Spring...
这个过程包括定义和配置多个DataSource bean,调整Hibernate和Struts2的配置以适应不同的数据源,以及在业务逻辑中适当地切换和使用这些数据源。正确配置后,SSH框架能够灵活地处理多数据库环境,提高应用的可扩展性...
"spring+hibernate和spring+myBatis实现连接多个数据库,同时操作的项目"是针对这种需求的一个解决方案,旨在提供一种灵活且动态的数据源切换机制。 首先,Spring框架作为Java领域中最受欢迎的应用框架之一,其强大...
对于需要同时连接多个数据库的应用,Spring支持多数据源配置。可以通过`@Qualifier`注解指定使用哪个数据源,或者使用`AbstractRoutingDataSource`动态路由数据源。 6. **JNDI数据源** 在应用服务器中,数据源...
在配置 Hibernate 数据源时,通常会通过 XML 配置文件(如 `hibernate.cfg.xml`)或 Java 配置类(在 Spring Boot 中常见)来指定。例如,在 XML 文件中,可以这样配置 BasicDataSource: ```xml <!-- ...
综上,"hibernate+spring配置文件"的配置涉及多个层面,包括Spring的IoC、事务管理、数据源配置,以及Hibernate的SessionFactory、实体映射等。理解并正确配置这些元素是成功整合SSH的关键,也是提升开发效率和系统...
在Spring框架中,多数据源事务管理是一项关键任务,特别是在大型企业级应用中,往往需要同时操作多个数据库。本篇文章将聚焦于如何结合Spring和JOTM(Java Open Transaction Manager)来实现多数据源的事务管理,...
1. 配置多个数据源:在Spring的配置文件中,定义多个`DataSource`bean,分别对应不同的数据库连接信息。 2. 创建路由数据源:定义一个基于`AbstractRoutingDataSource`的自定义数据源类,覆盖`...
3. **配置Druid数据源**:在Spring的配置文件中,定义两个或多个Druid数据源,每个数据源对应一个数据库。每个数据源都需要设置JTA启用,指定Atomikos作为事务管理器。 4. **配置Hibernate**:配置Hibernate的...
传统的做法是在Spring和Hibernate框架中配置单一的数据源,这种方式对于单个数据源的场景是可行的,但在需要处理多个数据源的情况下则显得力不从心。 #### 解决方案 为了解决上述问题,本文将介绍一种利用Spring...