数据库连接池--使用测试

数据库连接池通过分配、管理和释放数据库连接,提高数据库操作性能。本文介绍了DBCP、C3P0和Druid三种连接池的实现方式,包括各自的jar包、配置文件和使用示例。Druid因其强大的监控能力被认为是最好的数据库连接池之一。
摘要由CSDN通过智能技术生成

数据库连接池

什么是数据库连接池

  • 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。

  • 释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。

  • 模拟数据库连接池

  • 连接池类------- FastConnectionPool

  • 模拟数据库连接池的操作流程:

  1. 创建一个数据库连接池
  2. 初始10个连接对象
  3. 来一个客户端,从连接池里取
  4. 当客户用完了,则不是真的销毁,而是放入到连接池中
 public class FastConnectionPool {
    	private static LinkedList<Connection> pool = new LinkedList<>();
    	static{
    		for (int i = 0; i < 10; i++) {
    			Connection connection = DBUtils.getConnection();
    			pool.add(connection);
    		}
    	}
    	public Connection getConnection(){
    		return pool.removeFirst();
    	}
    	public void release(Connection cennection){
    		pool.add(cennection);
    	}
    }

DataSoure

  • 连接池各有各的实现方式,所以sun公司定义了一个标准:DataSource
  • 所以我们实现的连接要符合sun公司的规范,就需要实现接口 DataSource ,所以我们可以编写一个 MyDataSource 类,之后就是面向 DataSource 来编程。

DBCP

使用较少
文章使用jar包:commons-dbcp-1.4.jar
需配合POOL包使用:commons-pool-1.5.6.jar
配置文件:dbcp.properties

#连接设置
driverClassName=c
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值