java之dbcp连接池介绍和使用方法 简单易懂


一、dbcp连接池介绍

DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要2个包:commons-dbcp.jar 和 commons-pool.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。

二、导入的jar包

一些为直接下载,一些去官网下载
https://dlcdn.apache.org//commons/pool/binaries/commons-pool2-2.12.0-bin.zip
https://dlcdn.apache.org//commons/dbcp/binaries/commons-dbcp2-2.11.0-bin.zip
https://dlcdn.apache.org//commons/logging/binaries/commons-logging-1.3.0-bin.zip

三、代码演示

Properties配置文件

# url
url=jdbc:mysql://localhost:3306/studentdb

driverClassName=com.mysql.cj.jdbc.Driver
# 用户名
username=root
# 密码
password=sasa
# 初始连接数
initialSize=10
# 最大连接
maxActive=30
# 超时时间
maxWait=3000


使用连接池

package DBCP;

import org.apache.commons.dbcp2.BasicDataSource;
import org.apache.commons.dbcp2.BasicDataSourceFactory;
import org.junit.Test;

import java.io.FileInputStream;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Properties;

public class demo1 {
    @Test
    public void testDBCP() throws IOException, SQLException {
        // 创建一个Properties对象
        Properties properties = new Properties();
        // 创建一个FileInputStream对象,用于读取src\\dbcp.properties文件
        FileInputStream fileInputStream
                = new FileInputStream("src\\dbcp.properties");
        // 使用FileInputStream对象读取文件,并将文件内容加载到properties对象中
        properties.load(fileInputStream);
        // 使用properties对象创建一个BasicDataSource对象
        BasicDataSource dataSource = BasicDataSourceFactory.createDataSource(properties);
        // 打印dataSource对象创建的连接
        System.out.println(dataSource.getConnection());
    }

}


运行结果

在这里插入图片描述

四、总结

1.Jar包下载
首先,下载必须的jar包
2.配置参数

属性作用
username连接用户名
password连接密码
url连接 url( 如果连接 mysql ,格式为 jdbc:mysql://ip:port/dbname)
driverClassNamejdbc driver 名字 ( 如果是 mysql ,则为com.mysql.jdbc.Driver)
initialSize默认值是 0, 连接池创建连接的初始连接数目
maxActive默认值是 8, 连接池中同时可以分派的最大活跃连接数
maxIdle默认是 8 ,连接池中最大空闲连接数
minIdle默认是 0, 连接数中最小空闲连接数
maxWait默认值是无限大,当连接池中连接已经用完了,等待建立一个新连接的最大毫秒数 ( 在抛异常之前 )
  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值