数据库连接池的概念
- 数据库连接的背景
- 数据库连接是一种关键的、有限的、昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出
- 对数据库连接的管理能显著影响到整个应用程序的性能指标,数据库连接池正是针对这个问题提出来的
- 数据库连接池
- 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。这项技术能明显提高对数据库操作的性能
DataSource
- DataSource 接口概述
- javax.sql.DataSource 接口:数据源(数据库连接池)。Java 官方提供的数据库连接池规范(接口)
- 如果想完成数据库连接池技术,就必须实现 DataSource 接口
- 核心功能:获取数据库连接对象:Connection getConnection();
- 自定义数据库连接池
- 定义一个类,实现 DataSource 接口
- 定义一个容器,用于保存多个 Connection 连接对象
- 定义静态代码块,通过 JDBC 工具类获取 10 个连接保存到容器中
- 重写 getConnection 方法,从容器中获取一个连接并返回
- 定义 getSize 方法,用于获取容器的大小并返回
- 自定义数据库连接池的测试
- 通过自定义数据库连接池完成查询学生表的全部信息
归还连接方式
- 继承方式
- 装饰设计模式
- 适配器设计模式
- 动态代理方式
开源数据库连接池的使用
-
C3P0 数据库连接池的使用步骤
- 导入 jar 包
- 导入配置文件到 src 目录下
- 创建 C3P0 连接池对象
- 获取数据库连接进行使用
注意:C3P0 的配置文件会自动加载,但是必须叫 c3p0-config.xml 或 c3p0-config.properties
-
Druid 数据库连接池的使用步骤
- 导入 jar 包
- 编写配置文件,放在 src 目录下
- 通过 Properties 集合加载配置文件
- 通过 Druid 连接池工厂类获取数据库连接池对象
- 获取数据库连接进行使用
注意:Druid 不会自动加载配置文件,需要我们手动加载,但是文件的名称可以自定义