1. 程式人生 > 其它 >Mybatis學習筆記-08 連線池

Mybatis學習筆記-08 連線池

技術標籤:Java開發-Mybatis

我們知道,JDBC操作資料庫,建立Connection的開銷是十分大的,而Mybatis實際上是對JDBC的封裝,還是避免不了建立連結帶來的大開銷,不過Mybatis內部其實還是集成了自帶的連線池。對於頻繁建立導致的高消耗,我們的處理辦法就是引入連線池機制,所謂連線池,就是我們預先建立一些連線,在使用時只需要從池子中取,而不需要自行建立,用完後歸還池子即可。

我們將使用阿里開發的Druid連線池,各主流連線池的時間消耗如下(測試量為一百萬次的申請歸還操作):

具體步驟:

1. 匯入依賴

    <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.16</version>
        </dependency>

2. 建立Druid連線池的工廠

package com.zt.Utils;

import com.alibaba.druid.pool.DruidDataSource;
import org.apache.ibatis.datasource.pooled.PooledDataSourceFactory;

public class MyDruidDataSourceFactory extends PooledDataSourceFactory {
    public MyDruidDataSourceFactory(){
        this.dataSource = new DruidDataSource();
    }
}

3. 修改主配置檔案,替換Mybatis預設使用的連結池(由於連線池改變,連線池類中屬性名(driver和url)也變了,需要相應做修改)

            <dataSource type="com.zt.Utils.MyDruidDataSourceFactory">
                <property name="driverClass" value="${jdbc.driver}"/>
                <property name="jdbcUrl" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>