<?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="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<!-- 指定连接数据库的URL -->
<property name="jdbcUrl"
value="jdbc:sqlserver://localhost:1433; DatabaseName=Northwind" />
<!-- 指定连接数据库的用户名 -->
<property name="user" value="root" />
<!-- 指定连接数据库的密码 -->
<property name="password" value="root" />
<!-- 指定连接数据库连接池的最大连接数 -->
<property name="maxPoolSize" value="40" />
<!-- 指定连接数据库连接池的最小连接数 -->
<property name="minPoolSize" value="10" />
<!-- 指定连接数据库连接池的初始化连接数 -->
<property name="initialPoolSize" value="10" />
<!-- 指定连接数据库连接池的连接的最大空闲时间 -->
<property name="maxIdleTime" value="3" />
</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.SQLServerDialect
</prop>
<prop key="show_sql">false</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<!-- JDBC执行批量更新语句的大小 清除缓存(定期清除缓存,减小压力 -->
<prop key="hibernate.jdbc.batch_size">30</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>
jdbc驱动:sqljdbc.jar
分享到:
相关推荐
其中,`hibernate.connection.provider_class`是配置使用C3P0连接池的关键,通过将其值设置为`org.hibernate.connection.C3P0ConnectionProvider`,Hibernate将自动使用C3P0管理数据库连接。 `hibernate.c3p0.max_...
C3P0是一个开源的Java连接池实现,它提供了一种灵活且功能强大的数据库连接管理方式。在本文中,我们将深入探讨C3P0连接池的基本概念、工作原理以及如何在Java项目中配置和使用。 **C3P0简介** C3P0是由David Syer...
`c3p0`连接池则为`Hibernate`提供了高效、稳定且可配置的数据库连接管理,帮助应用在数据库连接出现问题时能够自动恢复,从而提高系统的可用性和稳定性。 1. **c3p0简介** `c3p0`由Miquel Piera开发,它提供了一种...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。这个“hibernate c3p0实例源码”就是用来展示如何在Hibernate中集成并使用C3P0连接池的示例代码。 首先,我们需要了解...
这意味着在使用Hibernate进行数据库操作时,c3p0作为连接池是不可或缺的组件,确保了数据库连接的管理和复用,从而提高性能并减少资源消耗。 **知识点详解** 1. **Hibernate**: Hibernate是Java开发中广泛使用的...
C3P0连接池是Java开发中常用的数据库连接池组件,它可以帮助开发者高效管理数据库连接,提高系统的性能和稳定性。本压缩包包含了两个关键的JAR文件:mchange-commons-java-0.2.19.jar和c3p0-0.9.5.5.jar,它们是C3P0...
5. 数据源配置:在大型应用中,通常会使用连接池如C3P0或HikariCP,通过数据源(DataSource)对象管理数据库连接。 总之,“sqlser2005数据库连接Jar包”是Java开发者在使用Hibernate与SQL Server 2005数据库配合时...
首先,需要在项目中引入这些jar文件,并在`hibernate.properties`中配置数据库连接信息、C3P0连接池的参数,如最小连接数、最大连接数、测试连接SQL等。然后,可以定义实体类并使用注解进行ORM映射,编写...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,C3P0可以帮助我们管理数据库连接,提高应用程序的性能和效率。这个压缩包包含了使用C3P0连接数据库所需...
- **兼容性**: c3p0 提供了兼容 JDBC 驱动管理和 `java.sql.DataSource` 视图的类来获取数据库连接。 - **透明处理**: 对数据源连接和 PreparedStatement 进行透明化处理,使传统驱动和未入池的数据源也能得到统一...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的主要功能和特性包括但不限于以下几点: 1. **连接池管理**:C3P0通过维护数据库连接池,实现了对数据库连接的高效...
C3P0是基于JDBC的数据源实现,允许应用程序通过配置参数来优化数据库连接的创建、管理和关闭,从而避免频繁地创建和销毁数据库连接,降低系统的资源消耗。 C3P0连接池的主要功能包括: 1. 连接池管理:C3P0可以...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。其主要特点包括自动检测、测试和回收数据库连接,以防止数据库连接泄漏。C3P0通过配置参数,可以灵活地调整连接池的性能,...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接的创建、分配和管理是一个耗时的过程,而C3P0通过提供数据库连接的池化,可以有效地提高...
1. **配置C3P0**:在项目的配置文件(通常是`applicationContext.xml`或`hibernate.cfg.xml`)中,添加C3P0的数据源配置。配置项包括数据库URL、用户名、密码、初始化连接数、最大连接数等。 ```xml ...
6. **JNDI集成**:C3P0可以方便地与Java Naming and Directory Interface (JNDI) 集成,使得在应用服务器中部署和管理数据源变得更加便捷。 7. **多数据库支持**:C3P0支持多种主流的数据库,包括MySQL、Oracle、...
例如,当你在配置Hibernate时,可以在`hibernate-cfg.xml`中添加C3P0的相关配置,指定数据源类型为C3P0,并设置初始化连接数、最大连接数、最小空闲连接数等参数。这使得Hibernate能够利用C3P0的连接池进行数据库...