`
zzc1684
  • 浏览: 1230924 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

spring3+hibernate3(jpa) 如何配置多个数据源?(bean的配置管理是基于注解)

阅读更多

我在一个工程中用的是oracle和mysql,以下配置,现在还没有碰到问题:

 

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xmlns:tx="http://www.springframework.org/schema/tx"

       xmlns:context="http://www.springframework.org/schema/context"

       

       xsi:schemaLocation="http://www.springframework.org/schema/beans

           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

           http://www.springframework.org/schema/tx 

           http://www.springframework.org/schema/tx/spring-tx-3.0.xsd

           http://www.springframework.org/schema/context 

   http://www.springframework.org/schema/context/spring-context-3.0.xsd ">

 

    <context:component-scan base-package="tss.vpdn.hdle"/>

 

    <bean id="dataSource2" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">

        <property name="driverClass" value="oracle.jdbc.OracleDriver"/>

        <property name="jdbcUrl" value="jdbc:oracle:thin:@171.32.5.103:1521:ora10g"/>

        <property name="user" value="csnms"/>

        <property name="password" value="sbsbsb"/>

        <property name="initialPoolSize" value="1"/>

        <property name="minPoolSize" value="1"/>

        <property name="maxPoolSize" value="3"/>

        <property name="maxIdleTime" value="60"/>

        <property name="acquireIncrement" value="3"/>

        <property name="idleConnectionTestPeriod" value="60"/>

    </bean>

 

    <bean id="sessionFactory2" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

        <property name="dataSource" ref="dataSource2"/>

        <property name="packagesToScan" value="tss.vpdn.model"/>

        <property name="hibernateProperties">

            <value>

                hibernate.dialect=org.hibernate.dialect.Oracle10gDialect

                hibernate.hbm2ddl.auto=none

                hibernate.show_sql=true

                hibernate.format_sql=false

            </value>

        </property>

    </bean>

    

    <bean id="txManager2" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

        <property name="sessionFactory" ref="sessionFactory2"/>

    </bean>

    

    <tx:annotation-driven transaction-manager="txManager2"/>

 

    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">

        <property name="driverClass" value="com.mysql.jdbc.Driver"/>

        <property name="jdbcUrl" value="jdbc:mysql://112.231.65.133:3306/sdvpdn?useUnicode=true&amp;characterEncoding=UTF-8"/>

        <property name="user" value="root"/>

        <property name="password" value="sbsbsb"/>

        <property name="initialPoolSize" value="1"/>

        <property name="minPoolSize" value="1"/>

        <property name="maxPoolSize" value="30"/>

        <property name="maxIdleTime" value="60"/>

        <property name="acquireIncrement" value="3"/>

        <property name="idleConnectionTestPeriod" value="60"/>

    </bean>

 

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

        <property name="dataSource" ref="dataSource"/>

        <property name="packagesToScan" value="tss.vpdn.model"/>

        <property name="hibernateProperties">

            <value>

                hibernate.dialect=org.hibernate.dialect.MySQLMyISAMDialect

                hibernate.hbm2ddl.auto=none

                hibernate.show_sql=true

                hibernate.format_sql=false

            </value>

        </property>

    </bean>

    

    <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

        <property name="sessionFactory" ref="sessionFactory"/>

    </bean>

    

    <tx:annotation-driven transaction-manager="txManager"/>

</beans>

 

 

注入的时候用 @Resource指定名称:

 

@Resource(name="sessionFactory2")

private SessionFactory factory;

 

@Transactional(value="txManager2")

 

分享到:
评论
1 楼 hjqhezgh 2012-02-20  
这个配置是两个事务,有没有办法做到只配置出一个事务呢

相关推荐

    Spring 4.0.6+Hibernate 4.3.5 + Jpa+DBCP2

    在Spring框架中集成Hibernate和JPA,可以利用Spring的事务管理、数据源配置和DAO支持。DBCP2(Jakarta Commons DBCP2)是Apache的一个数据库连接池组件,用于提高数据库连接的效率和可管理性。在Spring中配置DBCP2...

    jersey+spring2.5+hibernate3.3+jpa

    在本集成中,Spring负责管理Bean、事务、数据源和持久化层的整合。 3. **Hibernate 3.3**:Hibernate是一个流行的ORM(对象关系映射)框架,允许开发者用Java对象来操作数据库记录。版本3.3提供了更丰富的查询语言...

    spring+springmvc+hibernate+jpa搭建

    在IT行业中,构建一个基于Spring、SpringMVC、Hibernate和JPA的开发环境是常见的任务,这四个组件都是Java企业级应用开发中的重要工具。让我们深入探讨这些技术以及如何将它们整合在一起搭建一个完整的开发环境。 *...

    spring3.0 mvc+hibernate3.6 +jpa 注解实例

    在本实例中,我们探讨的是一个基于Spring 3.0、Hibernate 3.6和Java Persistence API (JPA) 的集成应用,其中充分利用了注解来简化开发过程。这是一个适用于初学者和经验丰富的开发者深入了解这些技术如何协同工作的...

    spring3+springmvc+jpa+hibernate

    2. 数据源配置:项目中应包含数据源的配置,用于连接数据库,可能在`persistence.xml`或Spring配置文件中。 3. 实体类(Entities):这些是与数据库表映射的Java类,使用JPA注解进行配置。 4. Repository接口:基于...

    非注解Springmvc+spring+hibernate 入门实例

    为了整合SpringMVC、Spring和Hibernate,你需要在Spring的配置文件中引入Hibernate的相关配置,如数据源、SessionFactory以及事务管理器。同时,你还需要配置一个Hibernate的本地SessionFactory Bean,以便Spring...

    spring mvc + spring + hibernate 全注解整合开发视频教程 05

    在Spring与Hibernate的整合中,Spring的DataSource、SessionFactory和HibernateTemplate或JPA的EntityManagerFactory等关键组件可以通过注解@Configuration和@Bean来配置。比如,我们可以使用@...

    Spring3+Hibernate3所需包及配置文件

    标题 "Spring3+Hibernate3所需包及配置文件" 指的是在开发Java Web应用程序时,结合Spring框架的第3个版本(Spring 3)与Hibernate ORM框架的第3个版本(Hibernate 3)所必需的库文件和配置文档。这个组合常用于实现...

    spring+hibernate整合实现简单数据库添加记录

    这通常涉及到配置数据源、Hibernate的属性(如hbm2ddl.auto)、以及SessionFactory bean。 2. **配置Transaction Manager**:Spring提供PlatformTransactionManager接口来管理事务。在与Hibernate整合时,我们通常...

    Spring+Hibernate+Jpa+Struts2整合实例

    6. **配置与整合**:整合这些框架通常涉及编写XML配置文件(如Spring的`beans.xml`,Struts2的`struts.xml`),设置相应的bean,配置数据源,以及定义Action类和结果映射。同时,还需要确保所有框架版本兼容,并正确...

    Spring+hibernate整合源代码

    你需要在 Spring 配置文件中定义数据源 Bean,如使用 DriverManagerDataSource 或者 DataSourceProxy,提供连接数据库所需的 JDBC 配置信息。 4. **SessionFactory 创建**:使用 Spring 的 LocalSessionFactoryBean...

    struts+spring+hibernate三大框架整合

    **SessionFactory的创建**:Spring管理SessionFactory,通常在ApplicationContext.xml中配置,通过`&lt;bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"&gt;`指定数据源、...

    spring + spring mvc + hibernate 之零配置之路源代码

    例如,Spring Boot会自动发现`@Entity`注解的类,创建DataSource和SessionFactory,甚至配置JPA的事务管理器。开发者可以通过`@EnableJpaRepositories`开启JPA仓库的支持,`@EntityScan`指定实体类的位置,以及`@...

    spring+hibernate

    这样的示例通常会包含Spring的ApplicationContext配置文件,其中包含了数据源、SessionFactory、事务管理器等bean的定义,以及Hibernate实体类和映射文件。同时,它也会展示如何在服务层注入SessionFactory,创建...

    Struts2+Spring4+Hibernate4整合

    接着,配置Spring的数据源、SessionFactory以及事务管理器,与Hibernate进行集成。最后,设置Struts2与Hibernate的连接,例如使用Hibernate插件实现结果集的自动封装。 整合过程中,通常会用到以下技术点: 1. **...

    spring3.1+hibernate4+struts2 项目例子(注解方式)

    这是一个基于Java技术栈的Web开发项目实例,使用了Spring 3.1、Hibernate 4和Struts2这三个核心框架,并且采用了注解方式进行配置。这个项目例子旨在帮助开发者理解如何在实际开发中整合这三个框架,实现MVC模式的...

    spring mvc + spring + hibernate 全注解整合开发视频教程 07

    同时,我们需要配置一个Spring配置文件,声明数据源、事务管理器以及Hibernate的SessionFactory,并使用@EnableWebMvc、@ComponentScan等注解启动Spring MVC和扫描注解的组件。 在实际项目中,通常会使用Spring的...

    Spring+SpringMVC+JPA+Hibernate搭建

    通过以上步骤,我们成功地搭建了一个基于Spring、SpringMVC、JPA和Hibernate的开发平台。该平台不仅能够满足基本的CRUD操作,还为后续的功能扩展打下了坚实的基础。开发者可以根据具体需求调整配置,实现更加灵活...

    搭建Struts2.1+Spring3.0+Hibernate3.3框架

    例如,在Struts.xml中声明Action类,Spring的bean配置中定义Action类的bean,Hibernate的配置文件中设置数据源和实体映射。 - 最后,确保所有依赖库被正确添加到项目的类路径中,以避免运行时找不到类的错误。 ...

    springMVC+spring+hibernate+jquery分页完整项目,完整代码

    本项目是一个基于SpringMVC、Spring、Hibernate和jQuery的完整分页应用,涵盖了后端服务、数据持久化、前端交互等多个重要技术领域。下面将详细解释这些技术及其在项目中的应用。 1. SpringMVC:SpringMVC是Spring...

Global site tag (gtag.js) - Google Analytics