MyBatis配置C3P0连接池

一、导包

  • c3p0包    
  • mybatis包
  • 数据库的连接包

     

 二、继承UnpooledDataSourceFactory的类

 Mybatis 没有帮开发者实现 c3p0 数据库连接池,故需要使用者自己实现 c3p0 来加载数据连接池。其实很简单的,只要继承 UnpooledDataSourceFactory 并把 dataSource 实现。我们的 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();
    }
}

 

三、mybatis-config.xml全局配置文件配置c3p0

     <environments default="mysql">
         <environment id="mysql">
             <transactionManager type="JDBC"></transactionManager>
             <dataSource type="com.demo.utils.c3p0DataSourceFactory">
                 <property name="driverClass" value="${jdbc.driver}"/>
                 <property name="jdbcUrl" value="${jdbc.url}"/>
                 <property name="user" value="${jdbc.username}"/>
                 <property name="password" value="${jdbc.password}"/>
                 <property name="initialPoolSize" value="5"/>
                 <property name="maxPoolSize" value="20"/>
                 <property name="minPoolSize" value="5"/>
             </dataSource>
         </environment>
     </environments>

注意:

  1. dataSource的type必须是实现了UnpooledDataSourceFactory的类的全类名,也就是第二步实现的类的全类名。
  2. property下的name必须是规范的c3p0的driverClass、jdbcUrl、user等值。
  3. property下的value是引入的db.properties中的数据。

 

另外:

mybatis-config.xml全局配置文件中引入外部数据库文件db.properties的语句。(在configuration属性下;resource为引用的路径名,切莫引用错误)

<properties resource="db.properties"></properties>

db.properties文件的内容:(等号左边的属性名可以任意定义,但最好能见名知意)

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/databaseName?characterEncoding=UTF-8
jdbc.username=username
jdbc.password=password

 

posted @ 2018-01-21 15:39  浪荡&不羁  阅读(7274)  评论(2编辑  收藏  举报