Skip to main content

数据库连接池

是一个容器,负责分配、管理数据库连接

它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;

释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏

好处:

​ ①资源重用

​ ②提升系统响应速度

​ ③避免数据库连接遗漏

Druid

pom.xml

<dependency>
<groupld>com.alibaba</groupld>
<artifactld>druid-spring-boot-starter</artifactld>
<version>1.2.8</version>
</dependency>
package com.itheima.druid;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource; // 标准接口
import java.io.FileInputStream;
import java.sql.Connection;
import java.util.Properties;

public class DruidDemo {
public static void main(String[] args) throws Exception {
// 1.导入jar包
// 2.定义配置文件
// 3.加载配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("jdbc/src/druid.properties"));
// 4.获取连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
// 5.获取数据库连接Connection
Connection connection = dataSource.getConnection();
System.out.println(connection);
}
}

配置文件

driverClassName=com.mysql.cj.jdbc.Driver
// 这里的test是数据库架构的名称!!!!!!
url=jdbc:mysql:///test?useSSL=false&useServerPrepStmts=true
username=root
password=547118
# 初始化连接数量
initialSize=5
# 最大连接数
maxActive=10
# 最大等待时间ms
maxWait=3000

或者application.yml

spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql:///test
username: root
password: 547118

或者在datasource下面的内容放在datasource:druid下面