<!-- 使用c3p0配置数据源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<!-- 指定连接池的驱动 -->
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<!-- 连接数据库的URL -->
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8"/>
<!-- 指定连接池的数据库用户名 -->
<property name="user" value="root"/>
<!-- 指定连接池的数据库用户名密码 -->
<property name="password" value="tiger"/>
<!--连接池中保留最大连接数Default:15-->
<property name="maxPoolSize" value="100"/>
<!--连接池中保留最小连接数-->
<property name="minPoolSize" value="1"/>
<!--初始化时获取连接数取值应在minPoolSize和maxPoolSize的间Default:3-->
<property name="initialPoolSize" value="1"/>
<!--最大空闲时间,60秒内未使用则连接被丢弃若为0则永不丢弃Default:0-->
<property name="maxIdleTime" value="60"/>
<!--当连接池中连接耗尽时候c3p0次同时获取连接数Default:3-->
<property name="acquireIncrement" value="5"/>
<!--JDBC标准参数用以控制数据源内加载PreparedStatements数量但由于预缓存Cachestatements 属于单个connection而不是整个连接池所以设置这个参数需要考虑到多方面原因 如果maxStatements和maxStatementsPerConnection均为0则缓存Cache被关闭Default:0-->
<property name="maxStatements" value="0"/>
<!--每60秒检查所有连接池中空闲连接Default:0-->
<property name="idleConnectionTestPeriod" value="60"/>
<!--定义在从数据库获取新连接失败后重复尝试次数Default:30-->
<property name="acquireRetryAttempts" value="10"/>
<!--获取连接失败将会引起所有等待连接池来获取连接线程抛出异常但是数据源仍有效 保留并在下次getConnection时候继续尝试获取连接如果设为true那么在尝试 获取连接失败后该数据源将申明已断开并永久关闭Default:false-->
<!-- <property name="AfterAcquireFailure" value="true"/>-->
<!--因性能消耗大请只在需要时候使用它如果设为true那么在每个connection提交 时候都将校验其有效性建议使用idleConnectionTestPeriod或automaticTestTable 等思路方法来提升连接测试性能Default:false-->
<!-- <property name="testConnectionOnCheckout" value="true"/>-->
</bean>