帮我写一个springboot的连接池
时间: 2023-07-20 21:41:44 浏览: 56
好的,以下是一个简单的Spring Boot连接池配置:
1. 添加依赖
在 `pom.xml` 文件中添加以下依赖:
```xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.4.1</version>
</dependency>
</dependencies>
```
其中,`spring-boot-starter-jdbc` 是 Spring Boot JDBC 的启动器,`HikariCP` 是一个高性能的 JDBC 连接池。
2. 配置数据源
在 `application.properties` 文件中添加以下配置:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/demo?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.connection-timeout=20000
spring.datasource.hikari.maximum-pool-size=10
```
其中,`spring.datasource.url`、`spring.datasource.username`、`spring.datasource.password`、`spring.datasource.driver-class-name` 分别是数据库连接信息,`spring.datasource.hikari.connection-timeout` 是连接超时时间,`spring.datasource.hikari.maximum-pool-size` 是最大连接数。
3. 使用连接池
在需要使用连接池的代码中注入 `DataSource` 数据源即可使用连接池。例如:
```java
@RestController
public class UserController {
@Autowired
private DataSource dataSource;
@GetMapping("/users")
public List<User> getUsers() throws SQLException {
try (Connection connection = dataSource.getConnection()) {
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM users");
List<User> users = new ArrayList<>();
while (resultSet.next()) {
User user = new User();
user.setId(resultSet.getInt("id"));
user.setName(resultSet.getString("name"));
user.setAge(resultSet.getInt("age"));
users.add(user);
}
return users;
}
}
}
```
以上就是一个简单的 Spring Boot 连接池配置和使用示例。