数据库连接池
概念:其实就是一个容器(集合),存放数据库连接对象的容器
当系统初始化后,容器被创建,容器中会申请一些连接对象,当用户访问数据库时从容器中获取连接对象,用户访问完之后,再将连接对象返还给容器
好处:
- 节约资源
- 效率高,不需要再申请数据库连接对象
实现:
- 标准接口:DataSource javax.sql包下的
- 方法:
- 获取连接:getConnection()
- 归还对象:如果连接对象Connection是从连接池中获取的,则在调用Connection.close()方法后就直接归还连接对象。
- 一般由数据库厂商来实现
- C3P0:数据库连接技术
- Druid:数据库连接池实现技术,由alibaba提供的
- 方法:
C3P0
- 使用步骤
- 导入jar包:数据库驱动包+C3P0的包
- 定义配置文件:
- 名称:c3p0.properties 或者c3p0-config.xml
- 直接将文件放在src目录下
- 创建核心对象–数据库连接池对象(ComboPooledDataSource)
- 获取连接:getConnection
Druid
- 使用步骤
- 导入jar包
- 定义配置文件
- 是properties形式的
- 可以为任意名称,可以放在任意目录
- 获取数据吃连接池对象:通过工厂来获取 DruidDataSourceFactory
- 获取连接:getConnection
- 定义工具类
- 定义一个类 JDBCUtils
- 提供静态代码块来加载配置文件,初始化连接池对象
- 提供方法:
- 获取连接方法:通过数据库连接池获取连接
- 释放资源
- 获取连接池的方法