jdbc:oracle自带---class12.jar
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 定义数据源Bean,使用C3P0数据源实现 -->
<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<!-- 指定连接数据库的驱动 -->
<property name="driverClass"
value="oracle.jdbc.driver.OracleDriver" />
<!-- 指定连接数据库的URL -->
<property name="jdbcUrl"
value="jdbc:oracle:thin:@192.168.1.102:1521:orcl" />
<!-- 指定连接数据库的用户名 -->
<property name="user" value="sys as sysdba" />
<!-- 指定连接数据库的密码 -->
<property name="password" value="wxp362387" />
<!-- 指定连接数据库连接池的最大连接数 -->
<property name="maxPoolSize" value="40" />
<!-- 指定连接数据库连接池的最小连接数 -->
<property name="minPoolSize" value="10" />
<!-- 指定连接数据库连接池的初始化连接数 -->
<property name="initialPoolSize" value="10" />
<!-- 指定连接数据库连接池的连接的最大空闲时间 -->
<property name="maxIdleTime" value="20" />
</bean>
<!--定义了Hibernate的SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 配置Hibernate的参数 -->
<property name="hibernateProperties">
<props>
<!-- 指定数据库的方言 -->
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>
<prop key="show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<!-- JDBC执行批量更新语句的大小 -->
<prop key="hibernate.jdbc.batch_size">20</prop>
</props>
</property>
<property name="mappingResources">
<!-- 映射的文件 -->
<list>
<value>XXXX.hbm.xml</value>
</list>
</property>
</bean>
<!-- 配置事务管理器Bean,因为使用Hibernate持久化技术,故使用HibernateTranscationManager 事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<!--为事务管理器注入SessionFactory 引用 -->
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 配置事务拦截器Bean -->
<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<!-- 下面定义事务传播属性-->
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<!-- 定义BeanNameAutoProxyCreator 后处理器 ,BeanNameAutoProxyCreator为名字匹配字符串或者通配符的bean自动创建AOP代理。-->
<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<!-- 指定对满足哪些bean name的bean自动生成业务代理 -->
<property name="beanNames">
<!-- 下面是所有需要自动创建事务代理的bean-->
<list>
<value>*Dao</value>
<value>*Imp</value>
</list>
<!-- 此处可增加其他需要自动创建事务代理的bean-->
</property>
<!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
<property name="interceptorNames">
<list>
<!-- 此处可增加其他新的Interceptor -->
<value>transactionInterceptor</value>
</list>
</property>
</bean>
<!-- 配置系统DAO组件 -->
<bean id="xxxxDao" class="org.boss.dao.XxxxDaoHibernate">
<!-- 依赖注入DAO组件所必需的SessionFactory引用 -->
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 配置系统的业务逻辑组件 -->
<bean id="xxxxImp" class="org.boss.service. XxxxManagerImp">
<property name="xxxxDao" ref="xxxxDao"></property>
</bean>
</beans>
分享到:
相关推荐
总的来说,C3P0 数据源通过提供灵活的配置和强大的管理功能,帮助开发者更有效地管理和维护数据库连接,从而提升应用程序的稳定性和性能。正确配置和使用 C3P0 是优化 Java 应用程序数据库访问的关键步骤。
C3P0支持多种数据库,包括MySQL、Oracle、PostgreSQL等,并且与Hibernate、Spring等框架有良好的集成。 **C3P0的工作原理** 1. **连接初始化**:当应用程序启动时,C3P0会根据配置参数预先创建一定数量的数据库连接...
在SSH框架中,为了实现高效的数据库连接池管理,通常会采用C3P0作为数据源组件。C3P0是一款开放源代码的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。下面是从给定的部分内容中提取到的...
例如,在Spring框架中,可以通过`<Resource>`标签配置C3P0数据源,这样就可以在不直接管理数据库连接的情况下,实现事务控制和其他数据库操作。 总的来说,C3P0 jar包对于需要高效稳定地处理Oracle 11g数据库的Java...
- 数据库连接池:使用C3P0、HikariCP等连接池,提高连接管理效率。 - 乐观锁/悲观锁:处理并发控制,防止数据冲突。 通过上述步骤,开发者可以在Java应用中高效地使用Hibernate与Oracle数据库进行数据操作。实践...
- **兼容性**: c3p0 提供了兼容 JDBC 驱动管理和 `java.sql.DataSource` 视图的类来获取数据库连接。 - **透明处理**: 对数据源连接和 PreparedStatement 进行透明化处理,使传统驱动和未入池的数据源也能得到统一...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。C3P0数据源在项目开发中使用得比较多。导入相关jar包c3p0-0.9.2-pre1.jar、...
例如,当你在配置Hibernate时,可以在`hibernate-cfg.xml`中添加C3P0的相关配置,指定数据源类型为C3P0,并设置初始化连接数、最大连接数、最小空闲连接数等参数。这使得Hibernate能够利用C3P0的连接池进行数据库...
通过以上配置,C3P0就可以在Hibernate应用中发挥作用,有效地管理数据库连接,提高系统性能。同时,C3P0还提供了许多高级特性,如自动测试连接的健康状态、自动回收失效连接等,这些都可以根据实际需求进行配置优化...
6. **JNDI集成**:C3P0可以方便地与Java Naming and Directory Interface (JNDI) 集成,使得在应用服务器中部署和管理数据源变得更加便捷。 7. **多数据库支持**:C3P0支持多种主流的数据库,包括MySQL、Oracle、...
5. **扩展性**:c3p0是模块化的,可以与其他数据源如Oracle UCP、HikariCP等结合使用,或者通过自定义实现来扩展其功能。 在实际使用中,你需要在项目中引入`c3p0-0.9.1.2.jar`这个库文件。这个版本的c3p0是2009年...
7. **JNDI绑定**:C3P0可以轻松地与JNDI(Java Naming and Directory Interface)结合,使得在应用服务器中部署和管理数据源变得简单。 8. **兼容性**:C3P0兼容多种主流的JDBC驱动,如MySQL、Oracle、PostgreSQL等...
在Spring中,有两种常见的开源数据源实现:Apache的DBCP(Database Connection Pool)和C3P0。下面将详细讨论这两种数据源的配置和特性。 **DBCP数据源配置** Apache的DBCP是一个基于Jakarta Commons Pool的对象池...
为了克服这个问题,C3P0 提供了一个高效的数据源和对象池机制,用于管理 JDBC 连接和 Statement 对象。 #### 二、关键配置参数详解 ##### a. 最大JDBC连接数量(`max_size`) - **定义**:`max_size` 参数定义了 ...
在实际应用中,通常会使用连接池(如C3P0、HikariCP、Apache DBCP等)来管理和复用数据库连接,以提高性能和资源利用率。 7. **错误处理和异常处理** 在使用JDBC时,需要捕获并处理SQLException及其子类,确保...
4. **多数据源支持**:C3P0可以管理多个不同的数据库连接池,这对于需要连接到多个数据库的应用程序来说非常有用。 5. **配置灵活**:C3P0的配置非常灵活,可以通过XML或Java代码进行设置,允许开发者调整各种参数...