数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。

1).dbcp没有自动回收空闲连接的功能,c3p0有自动回收空闲连接功能.

2).c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。

3).DBCP(DBCP(DataBase Connection Pool)数据库连接池,是java数据库连接池的一种,由Apache开发,通过数据库连接池,可以让程序自动管理数据库连接的释放和断开。

4).tomcat连接池Tomcat默认使用的是DBCP数据库连接池,其实从本质上讲,Tomcat是利用Apache Commons DBCP来实现的,只不过把特定的功能集成到了tomcat-dbcp.jar包中。 
5). HikariCP是一个高效的数据库连接池。可以看到各个连接池的性能

springboot 默认使用jda连接数据库,在pom文件里有spring-boot-starter-jdbc 或者 spring-boot-starter-data-jpa 依赖项,那么,会自动获取tomcat-jdbc连接池

以连接mysql为例:

# 服务器访问端口

server.port=8080

# 数据库基本配置

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.jpa.database=MYSQL

# 显示后台处理的SQL语句

spring.jpa.show-sql=true

# 自动检查实体和数据库表是否一致,如果不一致则会进行更新数据库表

spring.jpa.hibernate.ddl-auto=update