简单的理解,就是用来装连接对象的容器Connection对象
为什么要使用连接池
- 每次做jdbc的操作都需要创建连接,使用完了都需要销毁连接对象,影响效率
- 每个连接不能复用,浪费资源
使用的连接池HikariDataSource【日本HikariCP】
- 导入jar包和依赖jar包【HikariCP-3.2.0.jar根据版本导入/slf4j-api-1.7.25.jar】 创建一个与src平级的文件夹lib用来装我们的jar包-->buid path
- 写配置文件,创建配置对象 与src平级的文件夹resources资源文件夹里面写jdbc.properties文件
# driverClassName驱动名【自定义即可,现在可以不写】
driverClassName=com.mysql.jdbc.Driver
# url连接ip和端口、数据库,以及字符集。都是项目中约定好的
jdbcUrl=jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf8
# username用户名【自定义即可】
username=****
#password密码【自定义即可】
password=******
- 创建连接池对象
// 创建properties对象
Properties p = new Properties();
try (
// 解析配置文件 使用当前线程获取类加载器 自动关流
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("jdbc.properties");
){
// 调用load方法将文件写入p里
p.load(inputStream);
// 创建一个连接池对象 当jdbc配置文件与连接池方法的名字一致的时候就可以直接传入解析的文件
HikariConfig config = new HikariConfig(p);
HikariDataSource dataSource = new HikariDataSource(config);
Connection conn = dataSource.getConnection();
System.out.println(conn+"=============");
} catch (IOException e) {
e.printStackTrace();
} catch (SQLException throwables) {
throwables.printStackTrace();
}