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>