面试题答案
一键面试- 常见的JDBC连接池:
- HikariCP:轻量级、高性能的连接池,旨在快速处理大量请求。它在性能上表现出色,配置简单,是Spring Boot默认的连接池。
- C3P0:是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。
- Druid:阿里巴巴开源的连接池,功能强大,除了具备一般连接池的功能外,还提供SQL监控、日志、防御SQL注入等特性。
- 以HikariCP在Spring Boot项目中配置为例:
- 引入依赖:
在
pom.xml
文件中添加如下依赖:
- 引入依赖:
在
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql - connector - java</artifactId>
</dependency>
第一个依赖引入HikariCP连接池,第二个依赖引入MySQL数据库的驱动(假设使用MySQL数据库)。
- 配置文件编写:
在
application.properties
文件中添加如下配置:
spring.datasource.url=jdbc:mysql://localhost:3306/yourdatabase
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.datasource.driver - class - name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.maximum - pool - size=10
spring.datasource.hikari.minimum - idle=5
spring.datasource.hikari.idle - timeout=600000
spring.datasource.hikari.connection - timeout=30000
spring.datasource.hikari.validation - timeout=5000
其中:
spring.datasource.url
指定数据库的连接地址和数据库名。spring.datasource.username
和spring.datasource.password
分别是数据库的用户名和密码。spring.datasource.driver - class - name
指定数据库驱动类。spring.datasource.hikari.maximum - pool - size
设置连接池的最大连接数。spring.datasource.hikari.minimum - idle
设置连接池的最小空闲连接数。spring.datasource.hikari.idle - timeout
设置连接在池中保持空闲而不被驱逐的最长时间(毫秒)。spring.datasource.hikari.connection - timeout
设置从池中获取连接的最大等待时间(毫秒)。spring.datasource.hikari.validation - timeout
设置连接有效性验证的超时时间(毫秒)。
如果使用application.yml
文件,配置如下:
spring:
datasource:
url: jdbc:mysql://localhost:3306/yourdatabase
username: root
password: yourpassword
driver - class - name: com.mysql.cj.jdbc.Driver
hikari:
maximum - pool - size: 10
minimum - idle: 5
idle - timeout: 600000
connection - timeout: 30000
validation - timeout: 5000