1 简介
1.1 概念
1.2 优点
- 节省资源。如果每次访问数据库,都需要创建新的连接,在使用完成后,再去销毁连接,都是比较耗费系统资源的
- 响应更高效。节省了创建和销毁的时间
- 统一管理数据库连接,避免因为业务膨胀,导致数据库连接增多
- 对性能各方面进行监控
1.3 开源连接池技术
- C3P0
- DBCP(DataBase Connection Pool)
- Druid(阿里开源)
- HiKariCP
2.连接池使用
2.1 Druid使用
下载地址:https://repo1.maven.org/maven2/com/alibaba/druid/1.2.9/
public class Test {public static void main(String[] args) throws SQLException {DruidDataSource datasource=new DruidDataSource();datasource.setDriverClassName("com.mysq1.cj.jdbc.Driver");datasource.setUrl("jdbc:mysq1://localhost:3306/test");datasource.setUsername("root");datasource.setPassword("123456");datasource.setInitialSize(5);//连接池创建的时候,自动创建的数据库连接数量datasource.setMinIdle(10);//最小空闲连接datasource.setMaxActive(20);//最大同时激活的连接数量datasource.setMaxWait(6000);//最大等待时间。以毫秒为单位.-1表示无限等待Connection connection=datasource.getConnection();}
}
2.2 HikariCP使用
下载地址:https://repo1.maven.org/maven2/com/zaxxer/HikariCP/5.0.1/
依赖下载地址:https://repo1.maven.org/maven2/org/slf4j/slf4j-api/2.0.6/
public class Test {public static void main(String[] args)throws SQLException {HikariDataSource datasource=new HikariDataSource();datasource.setDriverClassName("com.mysq1.cj.jdbc.Driver");datasource.setJdbcUrl("jdbc:mysq1://1ocalhost:3306/test");datasource.setUsername("root");datasource.setPassword("123456");datasource.setMinimumIdle(10);Connection connection =datasource.getConnection();}
}