数据库连接池
- 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。
- 使用原因: 一个数据库连接对象均对应一个物理数据库连接,每次操作都打开一个物理连接,使用完都关闭连接,这样造成系统的 性能低下。
dbcp连接池
开源连接池,可以设置最大和最小连接,连接等待时间等
核心类:BasicDataSource 、BasicDataSourceFactory
配置文件
- 必须项:
- driverClassName:设置MySQL驱动
- url:设置MySQL路径URL
- username:设置数据库用户名
- password:设置数据库密码
- 非必须项:
- maxActive:最大同时连接数量,默认8(如果为0就是无限制)
- minIdle:最小空闲连接 ,默认0(最少有多少连接对象空闲,小于这个数就会被创建
- maxIdle:最大空闲连接 默认8(最多有多少连接对象空闲,超过就会被销毁)
- initialSize:初始化连接 默认0 连接池启动时创建的初始化连接数量
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///day09
username=root
password=root
不使用配置文件
public static void main(String[] args) throws Exception {
//dbcp核心类BasicDataSource
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///day09");
dataSource.setUsername("root");
dataSource.setPassword("root");
Connection conn = dataSource.getConnection();
PreparedStatement state = conn.prepareStatement(" select * from users ");
ResultSet rs = state.executeQuery();
while (rs.next()) {
System.out.println(rs.getObject(1) + " " + rs.getObject(2) + " " + rs.getObject(3));
}
rs.close();
state.close();
}
使用配置文件 dbc