DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要2个包:commons-dbcp.jar 和 commons-pool.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
# 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 | 默认值是无限大,当连接池中连接已经用完了,等待建立一个新连接的最大毫秒数 ( 在抛异常之前 ) |