ZBLOG

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

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

  1. 添加 HikariCP 依赖
<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
</dependency>
  1. 在 application.properties 中配置数据源连接信息
spring.datasource.url=jdbc:mysql://localhost:3306/db_name?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&maxReconnects=10
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
  1. 配置 HikariCP 数据源
@Configuration
public class DataSourceConfig {

    @Autowired
    private Environment env;

    @Bean(name = "dataSource")
    public DataSource dataSource() {
        HikariDataSource dataSource = new HikariDataSource();
        dataSource.setJdbcUrl(env.getProperty("spring.datasource.url"));
        dataSource.setUsername(env.getProperty("spring.datasource.username"));
        dataSource.setPassword(env.getProperty("spring.datasource.password"));
        dataSource.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));

        // 其他配置项,可根据实际需要进行调整
        dataSource.setMaximumPoolSize(Integer.parseInt(env.getProperty("spring.datasource.hikari.maximum-pool-size", "20")));
        dataSource.setMinimumIdle(Integer.parseInt(env.getProperty("spring.datasource.hikari.minimum-idle", "5")));
        dataSource.setConnectionTimeout(Long.parseLong(env.getProperty("spring.datasource.hikari.connection-timeout", "30000")));
        dataSource.setIdleTimeout(Long.parseLong(env.getProperty("spring.datasource.hikari.idle-timeout", "600000")));
        dataSource.setMaxLifetime(Long.parseLong(env.getProperty("spring.datasource.hikari.max-lifetime", "1800000")));
        dataSource.setAutoCommit(Boolean.parseBoolean(env.getProperty("spring.datasource.hikari.auto-commit", "true")));

        return dataSource;
    }
}
  1. 在需要使用数据源的地方,如 Service 层中,通过 @Autowired 注入 DataSource
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private DataSource dataSource;

    // ...
}

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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?