ZBLOG

spring boot如何正确地配置 HikariCP 连接池

在 Spring Boot 中使用 HikariCP 连接池,需要进行以下配置:

  1. 添加 HikariCP 依赖
  1. <dependency>
  2. <groupId>com.zaxxer</groupId>
  3. <artifactId>HikariCP</artifactId>
  4. </dependency>
  1. 在 application.properties 中配置数据源连接信息
  1. spring.datasource.url=jdbc:mysql://localhost:3306/db_name?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&maxReconnects=10
  2. spring.datasource.username=root
  3. spring.datasource.password=root
  4. spring.datasource.driver-class-name=com.mysql.jdbc.Driver
  1. 配置 HikariCP 数据源
  1. @Configuration
  2. public class DataSourceConfig {
  3. @Autowired
  4. private Environment env;
  5. @Bean(name = "dataSource")
  6. public DataSource dataSource() {
  7. HikariDataSource dataSource = new HikariDataSource();
  8. dataSource.setJdbcUrl(env.getProperty("spring.datasource.url"));
  9. dataSource.setUsername(env.getProperty("spring.datasource.username"));
  10. dataSource.setPassword(env.getProperty("spring.datasource.password"));
  11. dataSource.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));
  12. // 其他配置项,可根据实际需要进行调整
  13. dataSource.setMaximumPoolSize(Integer.parseInt(env.getProperty("spring.datasource.hikari.maximum-pool-size", "20")));
  14. dataSource.setMinimumIdle(Integer.parseInt(env.getProperty("spring.datasource.hikari.minimum-idle", "5")));
  15. dataSource.setConnectionTimeout(Long.parseLong(env.getProperty("spring.datasource.hikari.connection-timeout", "30000")));
  16. dataSource.setIdleTimeout(Long.parseLong(env.getProperty("spring.datasource.hikari.idle-timeout", "600000")));
  17. dataSource.setMaxLifetime(Long.parseLong(env.getProperty("spring.datasource.hikari.max-lifetime", "1800000")));
  18. dataSource.setAutoCommit(Boolean.parseBoolean(env.getProperty("spring.datasource.hikari.auto-commit", "true")));
  19. return dataSource;
  20. }
  21. }
  1. 在需要使用数据源的地方,如 Service 层中,通过 @Autowired 注入 DataSource
  1. @Service
  2. public class UserServiceImpl implements UserService {
  3. @Autowired
  4. private DataSource dataSource;
  5. // ...
  6. }

通过以上配置,即可成功使用 HikariCP 连接池对数据库进行操作。需要注意的是,HikariCP 的默认配置已经足够优秀,一般不需要进行过多的调整。如果需要进行调整,建议根据具体应用场景进行测试和调优。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=1260

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?