1、在com下面新建一个包ntclportal
2、配置config.properties
a.datasource.type = jdbcDataSource_a
a.datasource.url = jdbc:oracle:thin:@192.168.20.1:1521:test
a.datasource.username = ****
a.datasource.password = ****
a.datasource.jdbc.driver.name = oracle.jdbc.OracleDriver
b.datasource.type = jdbcDataSource_b
b.datasource.url = jdbc:oracle:thin:@192.168.20.2:1521:test2
b.datasource.username = ****
b.datasource.password = ****
b.datasource.jdbc.driver.name = oracle.jdbc.OracleDriver
3、配置applicationContext.xml
<bean id="jdbcDataSource_a" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-
method="close">
<property name="driverClass" value="${a.datasource.jdbc.driver.name}" />
<property name="jdbcUrl" value="${a.datasource.url}" />
<property name="user" value="${a.datasource.username}" />
<property name="password" value="${a.datasource.password}" />
<!-- 最小連接數 -->
<property name="minPoolSize" value="10"/>
<!-- 最大連接數 -->
<property name="maxPoolSize" value="15"/>
<!--最大空閒時間,1800秒內未使用則連結被丟棄。若為0則永不丟棄。Default: 0
-->
<property name="maxIdleTime" value="1800"/>
<!-- 當連接池裡面的連結用完的時候,C3P0一次獲得的新連接數 -->
<property name="acquireIncrement" value="3"/>
<!-- 最大的PreparedStatement數量 -->
<property name="maxStatements" value="1000"/>
<!-- 初始連接數 -->
<property name="initialPoolSize" value="10"/>
<!-- 每隔120秒檢查連接池裡面的空閒連結,單位秒-->
<property name="idleConnectionTestPeriod" value="120"/>
<!-- 從資料庫獲取新連接失敗之後重複嘗試的次數 -->
<property name="acquireRetryAttempts" value="30" />
<property name="breakAfterAcquireFailure" value="true" />
<property name="testConnectionOnCheckout" value="false" />
</bean>
<bean id="jdbcDataSource_b" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${b.datasource.jdbc.driver.name}" />
<property name="jdbcUrl" value="${b.datasource.url}" />
<property name="user" value="${b.datasource.username}" />
<property name="password" value="${b.datasource.password}" />
<!-- 最小連接數 -->
<property name="minPoolSize" value="10"/>
<!-- 最大連接數 -->
<property name="maxPoolSize" value="15"/>
<!--最大空閒時間,1800秒內未使用則連結被丟棄。若為0則永不丟棄。Default: 0
-->
<property name="maxIdleTime" value="1800"/>
<!-- 當連接池裡面的連結用完的時候,C3P0一次獲得的新連接數 -->
<property name="acquireIncrement" value="3"/>
<!-- 最大的PreparedStatement數量 -->
<property name="maxStatements" value="1000"/>
<!-- 初始連接數 -->
<property name="initialPoolSize" value="10"/>
<!-- 每隔120秒檢查連接池裡面的空閒連結,單位秒-->
<property name="idleConnectionTestPeriod" value="120"/>
<!-- 從資料庫獲取新連接失敗之後重複嘗試的次數 -->
<property name="acquireRetryAttempts" value="30" />
<property name="breakAfterAcquireFailure" value="true" />
<property name="testConnectionOnCheckout" value="false" />
</bean>
<!-- ============================================ -->
<!-- Integration Hibernate -->
<!-- ============================================ -->
<!-- org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean -->
<!-- org.springframework.orm.hibernate3.LocalSessionFactoryBean -->
<bean id="sessionFactory_a"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hibernate.format_sql">${hibernate.format_sql}
</prop>
<prop key="hibernate.max_fetch_depth">5</prop>
<prop key="hibernate.query.substitutions">true 1, false
0</prop>
<!-- connection release mode : JDBC使用after_transaction;
JTA使用after_statement -->
<prop
key="hibernate.connection.release_mode">after_transaction</prop>
<!-- Important : This will drop all tables and create new
tables -->
<!-- <prop key="hibernate.hbm2ddl.auto">create</prop> -->
</props>
</property>
<property name="dataSource" ref="${a.datasource.type}" />
<property name="packagesToScan" value="com.claridy" />
</bean>
<bean id="sessionFactory_b"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hibernate.format_sql">${hibernate.format_sql}
</prop>
<prop key="hibernate.max_fetch_depth">5</prop>
<prop key="hibernate.query.substitutions">true 1, false
0</prop>
<!-- connection release mode : JDBC使用after_transaction;
JTA使用after_statement -->
<prop
key="hibernate.connection.release_mode">after_transaction</prop>
<!-- Important : This will drop all tables and create new
tables -->
<!-- <prop key="hibernate.hbm2ddl.auto">create</prop> -->
</props>
</property>
<property name="dataSource" ref="${b.datasource.type}" />
<property name="packagesToScan" value="com.claridy" />
</bean>
4、配置SpringDispatcher-servlet.xml
<!-- Scans within the base package of the application for @Components to
configure as beans -->
<!-- @Controller, @Service, @Configuration, etc. -->
<context:annotation-config />
<context:component-scan base-package="com.claridy" />
<context:component-scan base-package="com.ntclportal" />
5、原来的DAO不变,新加的DAO要是使用sessionFactory_b
@Repository
public class PortalHtmlCntDAO extends BaseDAO implements IPortalHtmlCntDAO {
@Autowired
public PortalHtmlCntDAO(SessionFactory sessionFactory_b) {
super.setSessionFactory(sessionFactory_b);
this.createHibernateTemplate(sessionFactory_b);
}
@SuppressWarnings("unchecked")
public List<PortalHtmlCnt> getPortalHtmlCntList(String svcId)
throws DataAccessException {
DetachedCriteria detachedCriteria = DetachedCriteria.forClass
(PortalHtmlCnt.class);
detachedCriteria.add(Restrictions.eq("svcid", svcId));
return (List<PortalHtmlCnt>) this.findByCriteria(detachedCriteria);
}
}
6、记得另一个数据库对应的实体类,service,dao,controller都要放到新建的包下面
相关推荐
在IT行业中,Spring和Hibernate是两个非常重要的框架,它们分别在应用层和数据持久化层发挥着关键作用。Spring是一个全面的Java企业级应用开发框架,而Hibernate则是一个优秀的对象关系映射(ORM)工具,它简化了...
在构建企业级应用程序时,Spring框架和Hibernate是两个非常关键的工具。Spring作为一个全面的开发框架,提供了依赖注入、AOP(面向切面编程)、事务管理等核心功能,而Hibernate则是一个优秀的对象关系映射(ORM)...
然后,在类中加入以下两个私有函数: ```java private SessionFactory lookupSessionFactory(HttpServletRequest request) { //TODO: 实现 lookupSessionFactory 函数 } private Session getSession...
标题和描述中指出的文档《Struts+Spring+Hibernate开发实例.pdf》包含了关于这三个流行的Java开源框架结合使用的示例代码和相关知识点。Struts负责视图与控制器部分,Spring负责业务逻辑层及依赖注入,Hibernate负责...
在IT行业中,Spring和Hibernate是两个非常重要的框架,它们分别在应用层和数据持久化层发挥着关键作用。Spring是一个全面的Java应用框架,提供依赖注入(DI)、面向切面编程(AOP)以及众多模块,如Web MVC、数据...
"可能还有些小地方需要修改才可以使用"暗示了这个示例可能并不完全可运行,需要开发者根据自己的环境进行一些调整,例如数据库连接配置、实体类的定义、持久化映射文件(Hibernate的.hbm.xml或使用注解的方式)等。...
在这个例子中,Ibatis的SqlMapConfig.xml文件将配置数据库连接和映射文件,Action类会调用Service层的方法,Service层通过Ibatis的SqlSession执行SQL。 整合这两个框架,开发者通常需要做以下工作: - 配置Struts2...
在项目中,Hibernate 负责数据持久化,包括数据库连接、CRUD(创建、读取、更新、删除)操作。为了使用 Hibernate,需要配置 JDBC 驱动并在 lib 目录下放置相关 jar 文件。此外,还需要创建数据库表,例如 `USERS` ...
Spring 和 Hibernate 是两个非常重要的 Java 开发框架,它们在企业级应用开发中有着广泛的应用。Spring 是一个全面的后端应用程序框架,提供了依赖注入、面向切面编程、数据访问、事务管理等多种功能。Hibernate 则...
12.4.1 Hibernate的两种配置方式 12.4.2 配置数据库连接池 12.4.3 使用JNDI 12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO...
例如,你可以定义一个服务接口和其实现类,然后在Spring容器中声明这两个Bean,并通过`<property>`标签设置依赖关系。 Hibernate是ORM框架的代表,它允许开发者用Java对象来操作数据库,而不是直接编写SQL语句。在...
Spring 和 Hibernate 是两个非常重要的 Java 开发框架,它们在企业级应用开发中有着广泛的应用。Spring 是一个全面的后端应用程序框架,而 Hibernate 是一个对象关系映射(ORM)工具,用于简化数据库操作。这个...
在IT行业中,Spring和Hibernate是两个非常重要的框架,它们在企业级Java应用开发中起着核心作用。Spring是一个全面的后端开发框架,提供依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)以及其他许多功能。...
Spring的核心特性包括依赖注入(DI)和面向切面编程(AOP),这两个特性使得代码更加模块化和易于测试。此外,Spring还包含了Spring MVC,这是一个用于构建Web应用程序的模型-视图-控制器(MVC)框架。 2. **...
在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...
在Java开发领域,Spring和Hibernate是两个非常重要的框架,它们分别负责应用的依赖管理和对象关系映射(ORM)。为了在项目中使用Spring和Hibernate,开发者通常需要集成一系列的jar包来构建开发环境。以下是这些jar...
在IT行业中,Spring和Hibernate是两个非常重要的框架,它们分别在应用层管理和持久化层处理数据。Spring是一个全面的后端开发框架,提供依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等功能,而Hibernate...
6. **整合配置**:Spring 和 Hibernate 的整合需要在 Spring 的配置文件中配置 Hibernate 的 SessionFactory,并通过 DataSource 配置数据库连接。同时,还需要配置事务管理器,如 `PlatformTransactionManager`。 ...