`

如何在spring配置多个Hibernate数据源链接

阅读更多

一、首先配置hibernate数据源:

Xml代码 复制代码
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN2.0//EN""http://www.springframework.org/dtd/spring-beans-2.0.dtd">
  3. <beans>
  4. <!--1、Oracle数据源配置-->
  5. <beanid="oraclesessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  6. <propertyname="configLocation">
  7. <value>WEB-INF/classes/oracle-h.cfg.xml</value>
  8. </property>
  9. </bean>
  10. <beanid="oracletransactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  11. <propertyname="sessionFactory">
  12. <reflocal="sessionFactory"/>
  13. </property>
  14. </bean>
  15. <!--2、SQLServer数据源配置-->
  16. <beanid="sqlServersessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  17. <propertyname="configLocation">
  18. <value>WEB-INF/classes/sqlserver-h.cfg.xml</value>
  19. </property>
  20. </bean>
  21. <beanid="sqlServerTransactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  22. <propertyname="sessionFactory">
  23. <reflocal="sqlServersessionFactory"/>
  24. </property>
  25. </bean>
  26. <!--3、其他数据源配置-->
  27. .................

2、配置spring的事务拦截器(AOP):

Xml代码 复制代码
  1. <!--1、oracle数据源事务管理拦截器-->
  2. <tx:adviceid="oracleTxAdvice"transaction-manager="oracletransactionManager">
  3. <tx:attributes>
  4. <tx:methodname="find*"read-only="true"/>
  5. <tx:methodname="get*"read-only="true"/><tx:methodname="notx*"propagation="NEVER"/>
  6. <tx:methodname="*"rollback-for="自定义Exception"/>
  7. </tx:attributes>
  8. </tx:advice>
  9. <!--2、sqlserver数据源事务管理拦截器-->
  10. <tx:adviceid="sqlserverTxAdvice"transaction-manager="sqlservertransactionManager">
  11. <tx:attributes>
  12. <tx:methodname="find*"read-only="true"/>
  13. <tx:methodname="get*"read-only="true"/><tx:methodname="notx*"propagation="NEVER"/>
  14. <tx:methodname="*"rollback-for="自定义Exception"/>
  15. </tx:attributes>
  16. </tx:advice>
  17. <!--3、其他数据源事务管理拦截器-->
  18. .................
  19. <!--配置多数据源的事务拦截器-->
  20. <beanid="serviceAutoProxyCreator"class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
  21. <propertyname="beanNames">
  22. <list>
  23. <value>*Service</value>
  24. </list>
  25. </property>
  26. <propertyname="interceptorNames">
  27. <list>
  28. <value>oracleTxAdvice</value>
  29. <value>sqlServerTxAdvice</value>
  30. <value>XXXXXTxAdvice</value>
  31. </list>
  32. </property>
  33. </bean>
分享到:
评论

相关推荐

    Spring+Hibernate多数据源

    接着,描述中的"Spring+Hibernate多数据源的整合实现demo"意味着这是一个实际操作的示例,它可能包含了一个或多个配置文件和Java代码,展示了如何在Spring Boot或者传统的Spring环境下配置和使用多数据源。在Spring ...

    spring boot 2多数据源,里面有hibernate和mybatis的多数据源代码

    在多数据源的场景下,Hibernate提供了灵活的数据源配置,可以在同一个应用中管理多个数据库连接。这通常通过定义不同的SessionFactory配置和DataSource实例来实现。 **MyBatis** 则是一个轻量级的ORM框架,它比...

    springboot2.0多数据源集成hibernate配置hibernateDaoSupport示例

    对于多数据源,我们需要创建多个数据源配置,例如: ```yaml spring: datasource: primary: url: jdbc:mysql://localhost:3306/main_db username: root password: password driver-class-name: ...

    spring3+springmvc+jpa+hibernate多数据源

    "spring3+springmvc+jpa+hibernate多数据源"是一个示例项目,它演示了如何在一个应用中集成Spring 3、Spring MVC、JPA 2.0以及Hibernate,以实现对多个数据源的支持。下面将详细介绍这些技术及其集成的关键点。 **...

    spring+hibernate解决多数据源问题3.pdf

    为了操作多个数据库,需要在Spring配置文件中配置多个数据源,并为每个数据源配置相应的SessionFactory。这时会遇到如何区分和管理不同数据源下的SessionFactory的问题。 知识点四:使用GoF装饰器模式 为了更好的...

    spring集合hibernate多数据切换

    1. **配置数据源**:在Spring的配置文件中定义多个DataSource bean,每个bean代表一个数据源。例如,我们可以分别为生产环境和测试环境设置不同的数据源。 2. **配置SessionFactory**:为每个数据源创建一个...

    spring+hibernate+atomikos多数据源

    在多数据源环境中,Hibernate可以通过SessionFactory配置多个数据源,每个数据源对应一个SessionFactory。 3. **Atomikos**: Atomikos是一个开源的JTA(Java Transaction API)实现,提供分布式事务管理服务。在...

    hibernate多数据库配置

    首先,创建一个父数据源(parentDataSource),用于配置多个数据源共有的信息: ```xml &lt;property name="driverClassName" value="com.mysql.jdbc.Driver"&gt;&lt;/property&gt; &lt;property name="username" value="root"&gt;...

    针对SSH框架Spring管理Hibernate连接多个数据源配置文件

    该配置文件连接的是两个数据库结构相同的数据源,其他比如数据库结构不原理也可行。本人在遇到此问题时上网搜了很多答案结果都不怎么如意,有的太深奥不过思想很好,有的又太不给力,后来自己慢慢研究配置成功后想与...

    spring3+hibernate4+maven+junit 多库多数据源实现

    "Spring3+Hibernate4+Maven+JUnit 多库多数据源实现"是一个典型的Java Web项目配置,它涉及了多个核心技术来处理复杂的数据管理需求。下面将详细阐述这些技术以及如何协同工作以实现多库多数据源。 首先,Spring...

    SSH配置多个数据源

    这个过程包括定义和配置多个DataSource bean,调整Hibernate和Struts2的配置以适应不同的数据源,以及在业务逻辑中适当地切换和使用这些数据源。正确配置后,SSH框架能够灵活地处理多数据库环境,提高应用的可扩展性...

    spring+hibernate和spring+myBatis实现连接多个数据库,同时操作的项目

    "spring+hibernate和spring+myBatis实现连接多个数据库,同时操作的项目"是针对这种需求的一个解决方案,旨在提供一种灵活且动态的数据源切换机制。 首先,Spring框架作为Java领域中最受欢迎的应用框架之一,其强大...

    Spring 数据源不同配置

    对于需要同时连接多个数据库的应用,Spring支持多数据源配置。可以通过`@Qualifier`注解指定使用哪个数据源,或者使用`AbstractRoutingDataSource`动态路由数据源。 6. **JNDI数据源** 在应用服务器中,数据源...

    hibernate数据源

    在配置 Hibernate 数据源时,通常会通过 XML 配置文件(如 `hibernate.cfg.xml`)或 Java 配置类(在 Spring Boot 中常见)来指定。例如,在 XML 文件中,可以这样配置 BasicDataSource: ```xml &lt;!-- ...

    hibernate+spring配置文件

    综上,"hibernate+spring配置文件"的配置涉及多个层面,包括Spring的IoC、事务管理、数据源配置,以及Hibernate的SessionFactory、实体映射等。理解并正确配置这些元素是成功整合SSH的关键,也是提升开发效率和系统...

    spring+jotm 多数据源事务管理(二)hibernate

    在Spring框架中,多数据源事务管理是一项关键任务,特别是在大型企业级应用中,往往需要同时操作多个数据库。本篇文章将聚焦于如何结合Spring和JOTM(Java Open Transaction Manager)来实现多数据源的事务管理,...

    spring 3.29+struts2.3.15.1+hibernate3 动态切换数据源

    1. 配置多个数据源:在Spring的配置文件中,定义多个`DataSource`bean,分别对应不同的数据库连接信息。 2. 创建路由数据源:定义一个基于`AbstractRoutingDataSource`的自定义数据源类,覆盖`...

    spring 结合druid和hibernate使用jta配置分布式事务

    3. **配置Druid数据源**:在Spring的配置文件中,定义两个或多个Druid数据源,每个数据源对应一个数据库。每个数据源都需要设置JTA启用,指定Atomikos作为事务管理器。 4. **配置Hibernate**:配置Hibernate的...

    如何在spring框架中解决多数据源的问题

    传统的做法是在Spring和Hibernate框架中配置单一的数据源,这种方式对于单个数据源的场景是可行的,但在需要处理多个数据源的情况下则显得力不从心。 #### 解决方案 为了解决上述问题,本文将介绍一种利用Spring...

Global site tag (gtag.js) - Google Analytics