Mybatis学习笔记-08 连接池

我们知道,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>

猜你喜欢

转载自blog.csdn.net/qq_39304630/article/details/112296025