各种数据源配置之Spring+Hibernate配置C3P0数据源

beans.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:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
   
    <context:component-scan base-package="com.huhui"/><!-- 扫描注解方式 -->
   
    <!-- 采用c3p0数据源 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="org.gjt.mm.mysql.Driver"/>
    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/huhui?useUnicode=true&amp;characterEncoding=UTF-8"/>
    <property name="user" value="root"/>
    <property name="password" value="root"/>
    <!-- 初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default:3 -->
    <property name="initialPoolSize" value="1"/>
    <!-- 连接池中保留的最小/最大连接数 -->
    <property name="minPoolSize" value="1"/>
    <property name="maxPoolSize" value="300"/>
    <!-- 最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default:0 -->
    <property name="maxIdleTime" value="60"/>
    <!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default:3 -->
    <property name="acquireIncrement" value="5"/>
    <!-- 每60秒检查所有连接池中的空闲连接。Default:0 -->
    <property name="idleConnectionTestPeriod" value="60"/>
    </bean>
   
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean    <property name="dataSource" ref="dataSource"/>
    <property name="mappingResources">
    <list>
   <value>cn/itcast/bean/Employee.hbm.xml</value>   </list>
    </property>
    <property name="hibernateProperties"><!-- 设置hibernate的属性 -->
    <value>
    hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
    hibernate.hbm2ddl.auto=update
    hibernate.show_sql=false
    hibernate.format_sql=false
    </value>
    </property>
    </bean>
   
    <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"><!-- 配置一个针对hibernate的事务管理器 -->
    <property name="sessionFactory" ref="sessionFactory"/>
    </bean>
   
    <!-- 采用@Transactional注解方式使用事务 -->
    <tx:annotation-driven transaction-manager="txManager"/>
</beans>

web.xml代码:
<!-- 指定Spring的配置文件,默认从web根目录寻找配置文件,我们可以通过Spring提供的classpath:前缀指定从类路径下寻找 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:beans.xml</param-value>
  </context-param>
其它略

猜你喜欢

转载自javahuhui.iteye.com/blog/1456972