DBCP数据库连接池

DBCP是Apache提供的数据库连接池,Hibernate3.0之后不再提供支持DBCP连接池;
先导包,除了数据库驱动包以外,还要下面三个:
在这里插入图片描述
配置文件:
我的配置文件是放在src下的,也可以放在项目路径下,但是待会儿获取流的时候注意文件路径就好;
dbcp.properties:

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mydb?serverTimezone=GMT%2b8&characterEncoding=utf8
username=root
password=123
#初始化连接数
initialSize=10
#最大连接数量
maxActive=50
#最大空闲连接
maxIdle=20
#最小空闲连接数
minIdle=5
#最长等待时间
maxWait=60000

#指定由连接池所创建的连接的自动提交(auto-commit)状态。
defaultAutoCommit=true
#driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。
#可用值为下列之一:NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE
defaultTransactionIsolation=READ_UNCOMMITTED

测试代码:

package cn.melo.demo;

import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.Properties;

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

public class DBCPDemo {
	@Test
	public void testDBCP() throws Exception {
		
		//先把配置文件加载进来
		InputStream in = new FileInputStream("src/dbcp.properties");
		Properties prop = new Properties();
		prop.load(in);
		//用Properties来获取BasicDataSource的对象
		BasicDataSource bds = BasicDataSourceFactory.createDataSource(prop);
		//得到连接
		Connection conn = bds.getConnection();
		
		String sql = "SELECT * FROM student";
		PreparedStatement preStmt = conn.prepareStatement(sql);
		ResultSet rs = preStmt.executeQuery();
		while(rs.next()) {
			ResultSetMetaData metaData = rs.getMetaData();
			int cols = metaData.getColumnCount();
			for(int i = 1; i < cols; i++) {
				System.out.print(rs.getString(i)+"\t");
			}
			System.out.println();
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值