俗话说:好记性不如烂笔头。况且,我记性还不好。于是,我开始记博文了!
不敢说给遇到类似问题的人以什么借鉴,但求我再遇到类似的问题时候,有处可查。
Spring+Hibernate多数据源的配置问题:
-----------------app-dataSourse.xml:-----------------------------------------------------------------------
<?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:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
//数据源1
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<property name="jdbcUrl" value="jdbc:oracle:thin:@192.0.0.100:1555:orcl" />
<property name="user" value="xxx" />
<property name="password" value="xxx" />
<property name="initialPoolSize" value="5" />
<property name="minPoolSize" value="5" />
<property name="maxPoolSize" value="10" />
<property name="idleConnectionTestPeriod" value="600" />
<property name="maxIdleTime" value="600" />
<property name="maxStatements" value="0" />
<property name="maxStatementsPerConnection" value="0" />
<property name="acquireIncrement" value="5" />
<property name="acquireRetryAttempts" value="200" />
<property name="acquireRetryDelay" value="180000" />
</bean>
<!--连接LNSJ数据库,读取“健康知识” -->
//数据源2
<bean id="dataSource2" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<property name="jdbcUrl" value="jdbc:oracle:thin:@119.0.0.0:1555:orcl" />
<property name="user" value="xxx" />
<property name="password" value="xxx" />
<property name="initialPoolSize" value="5" />
<property name="minPoolSize" value="5" />
<property name="maxPoolSize" value="10" />
<property name="idleConnectionTestPeriod" value="600" />
<property name="maxIdleTime" value="600" />
<property name="maxStatements" value="0" />
<property name="maxStatementsPerConnection" value="0" />
<property name="acquireIncrement" value="5" />
<property name="acquireRetryAttempts" value="200" />
<property name="acquireRetryDelay" value="180000" />
</bean>
</beans>
-----------------app-hibernate.xml:-----------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 配置sessionFactory1 -->
<bean class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
id="sessionFactory">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>hbm/TabMsColumn.hbm.xml</value>
<value>hbm/TabMsAd.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</prop>
<prop key="hibernate.query.substitutions">true 1, false 0</prop>
<prop key="hibernate.cache.use_query_cache">false</prop>
<prop key="hibernate.jdbc.batch_size">50</prop>
<prop key="hibernate.jdbc.fetch_size">100</prop>
<prop key="hibernate.max_fetch_depth">2</prop>
<prop key="hibernate.cache.use_second_level_cache">false</prop>
</props>
</property>
</bean>
<!--LNSJ库“健康知识” SessionFactory -->
<!-- 配置sessionFactory1 -->
<bean class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
id="sessionFactory2">
<property name="dataSource">
<ref bean="dataSource2" />
</property>
<property name="mappingResources">
<list>
<value>hbm/TabMsKnowledge.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</prop>
<prop key="hibernate.query.substitutions">true 1, false 0</prop>
<prop key="hibernate.cache.use_query_cache">false</prop>
<prop key="hibernate.jdbc.batch_size">50</prop>
<prop key="hibernate.jdbc.fetch_size">100</prop>
<prop key="hibernate.max_fetch_depth">2</prop>
<prop key="hibernate.cache.use_second_level_cache">false</prop>
</props>
</property>
</bean>
<!-- 事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="transactionBase"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
lazy-init="true" abstract="true">
<!-- 配置事务管理器 -->
<property name="transactionManager" ref="transactionManager" />
<!-- 配置事务属性 -->
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="transactionManager2"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory2" />
</bean>
<bean id="transactionBase2"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
lazy-init="true" abstract="true">
<!-- 配置事务管理器 -->
<property name="transactionManager" ref="transactionManager2" />
<!-- 配置事务属性 -->
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
</beans>
-----------------app-dao.xml:-----------------------------------------------------------------------
<beans .......>
.......
<bean id="imeiDao" class="com.zmks.dao.impl.ImeiDaoImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="knowledgeDao" class="com.zmks.dao.impl.IKnowledgeDaoImpl">
<property name="sessionFactory" ref="sessionFactory2" />
</bean>
........
<beans />
-----------------app-dao.xml:-----------------------------------------------------------------------
<beans .......>
.......
<bean id="knowledgeService" class="com.zmks.service.impl.KnowledgeServiceImpl">
<constructor-arg index="0" ref="knowledgeDao" />
</bean>
........
<beans />
我的J2EE还是很弱,多学习多学习!
分享到:
相关推荐
"spring3+springmvc+jpa+hibernate多数据源"是一个示例项目,它演示了如何在一个应用中集成Spring 3、Spring MVC、JPA 2.0以及Hibernate,以实现对多个数据源的支持。下面将详细介绍这些技术及其集成的关键点。 **...
接着,描述中的"Spring+Hibernate多数据源的整合实现demo"意味着这是一个实际操作的示例,它可能包含了一个或多个配置文件和Java代码,展示了如何在Spring Boot或者传统的Spring环境下配置和使用多数据源。在Spring ...
通过结合JSP的视图呈现、Spring的控制层管理和Hibernate的数据持久化,开发者能够快速、高效地开发出具有复杂业务逻辑的博客平台。如果你希望深入了解这个系统的实现细节,需要深入研究源代码和配置文件,理解它们...
3. **配置Spring**:在src/main/resources下创建applicationContext.xml文件,配置Spring的核心容器,包括Bean定义、数据源、事务管理器等。例如,使用DataSource来连接Oracle数据库,使用...
- **Hibernate配置**: 配置Hibernate实体类,映射到数据库表,并设置数据源、SessionFactory等。 - **MyEclipse集成**: MyEclipse是一款强大的Java EE集成开发环境,支持GWT插件,使得开发者可以直接在IDE中调试和...
这种方式提高了开发效率,简化了项目管理,使得Flex界面可以无缝地与Spring管理和控制的业务逻辑以及Hibernate持久化的数据交互。 总结起来,Flex+Spring+Hibernate的整合涉及到的主要知识点包括: 1. Flex ...
你需要在 Spring 配置文件中定义数据源 Bean,如使用 DriverManagerDataSource 或者 DataSourceProxy,提供连接数据库所需的 JDBC 配置信息。 4. **SessionFactory 创建**:使用 Spring 的 LocalSessionFactoryBean...
- `src/main/java`:存放Java源代码的地方,通常会看到Spring配置类、服务层接口和实现、DAO层接口和实现等。 - `src/main/resources`:存放配置文件的地方,比如Spring的XML配置、Hibernate的实体映射文件(hbm.xml...
Struts、Spring和Hibernate是Java开发中的三大主流框架,它们的整合使用在企业级应用开发中非常常见。这个"Strut+Spring+Hibernate注册登录系统"是一个基础的Web应用程序,旨在帮助初学者理解如何将这三个框架集成并...
本文主要介绍在Spring与Hibernate框架下解决多数据源配置的问题。在企业级应用开发中,因为业务需求的不同,往往需要同时操作多个数据库,这就需要配置多数据源来满足这样的需求。 知识点一:数据源与会话工厂 在...
对于Hibernate,需要配置SessionFactory,可能还包括数据源、事务管理器等。 3. **配置Hibernate**:配置Hibernate的`hibernate.cfg.xml`文件,指定数据库连接参数,实体映射文件的位置,以及缓存策略。还需要在...
通过Spring的管理、Struts的控制和Hibernate的数据持久化,实现了高效且可维护的业务逻辑。同时,MySQL数据库的使用保证了数据的存储和检索。对于学习和理解Java Web开发,特别是Spring、Struts和Hibernate的集成...
在多数据源环境中,Hibernate可以通过SessionFactory配置多个数据源,每个数据源对应一个SessionFactory。 3. **Atomikos**: Atomikos是一个开源的JTA(Java Transaction API)实现,提供分布式事务管理服务。在...
Spring还提供了数据源配置、事务配置以及对Hibernate SessionFactory的管理,通过`@EnableTransactionManagement`开启事务管理。 在实际开发中,我们还会用到Spring的其他功能,比如Spring MVC的拦截器...
在IT行业中,构建大型、模块化的Java应用时,通常会采用一些成熟的框架组合,例如Spring、Spring MVC和Hibernate。这些框架协同工作,可以提供强大的后端功能,包括依赖注入、模型-视图-控制器(MVC)架构以及对象...
在本项目中,Hibernate被用来执行图书数据的CRUD(创建、读取、更新、删除)操作,通过配置文件定义实体类与数据库表的映射,然后通过SessionFactory和Session对象进行数据交互。 **整合SSH** SSH整合的关键在于...
Spring管理SessionFactory,通常在ApplicationContext.xml中配置,通过`<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">`指定数据源、映射文件、hibernate配置等。...
它还能与Hibernate进行无缝集成,简化数据访问层的配置。此外,Spring MVC是Spring的一部分,可以替代Struts作为前端控制器,提供更灵活的架构。 **Hibernate框架**: Hibernate是一个对象关系映射(ORM)工具,它...
2. **配置Seam**:在seam.properties文件中指定Hibernate配置,如数据源、实体扫描路径等。 3. **配置Spring**:创建Spring的bean配置文件,定义需要的bean,如DataSource、SessionFactory、TransactionManager等,...