`
zzc1684
  • 浏览: 1195898 次
  • 性别: 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中文帮助文档

    12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意事项 12.3. ...

    Spring API

    12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意事项 12.3. ...

    Spring in Action(第2版)中文版

    5.2.3基于jdbc驱动的数据源 5.3在spring里使用jdbc 5.3.1处理失控的jdbc代码 5.3.2使用jdbc模板 5.3.3使用spring对jdbc的dao支持类 5.4在spring里集成hibernate 5.4.1选择hibernate的版本 5.4.2使用hibernate...

    Spring in Action(第二版 中文高清版).part2

    5.2.3 基于JDBC驱动的数据源 5.3 在Spring里使用JDBC 5.3.1 处理失控的JDBC代码 5.3.2 使用JDBC模板 5.3.3 使用Spring对JDBC的DAO支持类 5.4 在Spring里集成Hibernate 5.4.1 选择Hibernate的版本 5.4.2 ...

    Spring in Action(第二版 中文高清版).part1

    5.2.3 基于JDBC驱动的数据源 5.3 在Spring里使用JDBC 5.3.1 处理失控的JDBC代码 5.3.2 使用JDBC模板 5.3.3 使用Spring对JDBC的DAO支持类 5.4 在Spring里集成Hibernate 5.4.1 选择Hibernate的版本 5.4.2 ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    配置子报表数据源 14.7.5. 配置Exporter的参数 15. 集成其它Web框架 15.1. 简介 15.2. 通用配置 15.3. JavaServer Faces 15.3.1. DelegatingVariableResolver 15.3.2. FacesContextUtils 15.4. Struts 15.4.1. ...

    Spring 2.0 开发参考手册

    12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意点 12.3. JDO ...

    Spring攻略(第二版 中文高清版).part1

    1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 工作原理 14 1.4 解决构造程序歧义 17 ...

    spring chm文档

    12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意点 12.3. JDO ...

    Spring攻略(第二版 中文高清版).part2

    1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 工作原理 14 1.4 解决构造程序歧义 17 ...

    springboot参考指南

    配置一个数据源 ii. 67.2. 配置两个数据源 iii. 67.3. 使用Spring Data仓库 iv. 67.4. 从Spring配置分离@Entity定义 v. 67.5. 配置JPA属性 vi. 67.6. 使用自定义的EntityManagerFactory vii. 67.7. 使用两个Entity...

    spring-intro:Spring 框架简介,超过 10 节课程

    常用注解实践示例、问答S02 - 依赖注入Spring @Component 模型DI 类型 - 构造函数、setter、p 和 c 命名空间Bean 作用域实践示例、问答S03 - 数据访问 - 第一部分数据源绑定,连接池配置JDBCTemplate 介绍工具 - ...

Global site tag (gtag.js) - Google Analytics