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

文章目录

  • 一、dbcp连接池介绍
  • 二、导入的jar包
  • 三、代码演示
    • Properties配置文件
    • 使用连接池
    • 运行结果
  • 四、总结


一、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)
driverClassName jdbc driver 名字 ( 如果是 mysql ,则为com.mysql.jdbc.Driver)
initialSize 默认值是 0, 连接池创建连接的初始连接数目
maxActive 默认值是 8, 连接池中同时可以分派的最大活跃连接数
maxIdle 默认是 8 ,连接池中最大空闲连接数
minIdle 默认是 0, 连接数中最小空闲连接数
maxWait 默认值是无限大,当连接池中连接已经用完了,等待建立一个新连接的最大毫秒数 ( 在抛异常之前 )

你可能感兴趣的:(java,开发语言)