1、引入jar包 c3p0.jarjava
2、須要本身寫個類繼承UnpooledDataSourceFactory,而後指定dataSource 爲ComboPooledDataSource。
這個ComboPooledDataSource就是c3p0的數據源mysql
package org.mybatis.c3p0; import org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory; import com.mchange.v2.c3p0.ComboPooledDataSource; public class C3P0DataSourceFactory extends UnpooledDataSourceFactory{ public C3P0DataSourceFactory(){ this.dataSource =new ComboPooledDataSource(); } }
3、配置 mybatis-config.xmlsql
<dataSource type="org.mybatis.c3p0.C3P0DataSourceFactory"> <property name="driverClass" value="com.mysql.jdbc.Driver" /> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/how2java?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false"/> <property name="user" value="root" /> <property name="password" value="admin" /> <!-- 鏈接池初始化大小爲3 --> <property name="initialPoolSize" value="3"/> <!-- 鏈接池最大爲10 --> <property name="maxPoolSize" value="10"/> <!-- 鏈接池最小爲3 --> <property name="minPoolSize" value="3"/> <!-- 鏈接池在無空閒鏈接可用時一次性最多建立的新數據庫鏈接數 --> <property name="acquireIncrement" value="5"/> <!-- 鏈接的最大空閒時間,若是超過這個時間(秒),某個數據庫鏈接尚未被使用,則會斷開掉這個鏈接。若是爲0,則永遠不會斷開鏈接,即回收此鏈接 --> <property name="maxIdleTime" value="30"/> <!-- 最大的Statement數量 --> <property name="maxStatements" value="500"/> <!-- 每一個鏈接啓動的最大Statement數量 --> <property name="maxStatementsPerConnection" value="50"/> <!-- 同時運行的線程數 --> <property name="numHelperThreads" value="5"/> </dataSource>