Java开发基础(三)——JDBC连接池

前言

数据库连接很昂贵。获取一个与数据库的连接,整个系统在背后要做很多消耗资源的事情,大多数时候,创建连接的时间比执行sql语句的时间还要长。故Java使用连接池机制替代了直接建立连接的方式。

常见的连接池

Java为数据库连接池提供了公共的接口:javax.sql.DataSource,各个厂商需要让自己的连接池实现这个接口。这样应用程序可以方便的切换不同厂商的连接池!
注:

  1. 驱动是由数据库厂商提供,是对Java的JDBC接口的实现
  2. 连接池不是数据库厂商提供的,如DBCP是Apache提供的,C3P0连接池则是开源项目,要求各个厂商必须实现Java提供的BasicDataSource接口来对接各类连接池。

连接池实现 注册驱动获取连接 两部分功能。

DBCP连接池

  1. 添加jar包 :commons-dbcp-1.4.jar和commons-pool-1.5.6.jar
    Apache官网的下载地址
  2. 添加属性配置文件dbcpconfig.properties(这个文件的名字可以随意修改)

方式一: dbcpconfig.properties在当前工程的根目录使用

Properties ps = new Properties();
ps.load(new FileInputStream("dbcpconfig.properties"));

方式二:dbcpconfig.properties在src目录下时使用

//	类加载器
ps.load(DBCPUtils02.class.getClassLoader().getResourceAsStream("dbcpconfig.properties"));
  1. 编写工具类
  • DBCPUtils.java
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSourceFactory;

public class DBCPUtils {
	// 工具类的作用:获取一个数据库连接
	private static DataSource ds = null;
	
	//静态代码块,设置ds的四大要素
	static{
		Properties ps = new Properties();
		try {
			// dbcpconfig.properties在当前工程的根目录使用
//			ps.load(new FileInputStream("dbcpconfig.properties"));
			// dbcpconfig.properties在src目录下时使用	类加载器
			ps.load(DBCPUtils02.class.getClassLoader().getResourceAsStream("dbcpconfig.properties"));
		} catch (FileNotFoundException e) {
			e.printStackT
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值