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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM