连接池
- 概述:连接池就是一个装有与数据库连接的容器,通过连接池预先同数据库建立一些连接放在内存中,当应用程序需要建立连接时直接从连接池中申请一个使用,使用完毕后在归还给连接池
- 为什么要有连接池?
建立与数据库的连接是一种非常耗时,耗资源的行为,可以通过使用连接池早已建立好的连接优化这一行为 - 三种常见的连接池:DBCP连接池,c3p0连接池,阿里德鲁伊Druid连接池
DBCP连接池
使用步骤:
(1)引入数据库驱动jar包和DBCP两个jar包
(2)导入配置文件
(3)两种使用方式
方式1:硬编码,不用配置文件:
package org.westos.demo;
import org.apache.commons.dbcp.BasicDataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class MyTest {
public static void main(String[] args) throws SQLException {
//导入数据库驱动jar包和两个DBCPjar包
//创建连接池对象
BasicDataSource bd = new BasicDataSource();
//设置四个基本参数
bd.setDriverClassName("com.mysql.jdbc.Driver");
bd.setUrl("jdbc:mysql://localhost:3306/mydb");
bd.setUsername("数据库名");
bd.setPassword("数据库密码");
//从连接池中获取一个连接对象
Connection connection = bd.getConnection();
//获取操作对象
PreparedStatement preparedStatement = connection.prepareStatement("select * from users");
ResultSet resultSet = preparedStatement.executeQuery();
//拿出数据库中的数据
while(resultSet.next()){
String string1 = resultSet.getString(1);
String string2 = resultSet.getString(2);
System.out.println(string1);
System.out.println(string2);
}
//释放资源
connection