在hibernate中使用c3p0数据源
1. jar包 hibernate-release-4.1.8.Final\lib\optional\c3p0
2. 加入配置:
<!-- 数据库连接池最大连接数 -->
<property name="c3p0.max_size">30</property>
<!-- 数据库连接池最小连接数 -->
<property name="c3p0.min_size">2</property>
<!-- 每次请求连接的数目 同一时刻获取多少个数据库连接 -->
<property name="c3p0.acquire_increment">5</property>
<!-- 数据库连接池中连接对象多长时间没有使用后,就应该被销毁->
<property name="c3p0.timeout">100</property>
<!-- 表示连接池检测线程多长时间检测一次池内的所有连接是否超时 -->
<property name="c3p0.idle_test_period">2000</property>
连接池本身不会把自己从连接池中移除,而是专门有一个线程按照一定的时间间隔来组这件事
这个线程通过比较连接对象最后一次被使用时间和当前时间的时间差来和timeout作对比,进而决定是销毁这个连接对象
<!-- 缓存statement的数量-->
<property name="c3p0.max_statements">20</property>