在Spring中使用HikariCP集成Clickhouse

在Spring中使用HikariCP集成Clickhouse

什么是HikariCP?

光 HikariCP・A solid, high-performance, JDBC connection pool at last. 简单的说,就是一个JDBC的连接池的库,如果想轻松的管理连接池,使用它肯定是没错的.

使用HikariCP集成Clickhouse,大致分为三步

  1. 在yml文件配置clickhouse的url,用户名密码,也可以将这些配置到vault上,这个取决你.
  2. 创建对应的config class, 读取yml文件配置
  3. 创建对应的JdbcTemplate(optional)

第一步

配置yml文件:

spring:
  datasource:
    clickhouse:type: com.zaxxer.hikari.HikariDataSource
    driver-class-name: com.clickhouse.jdbc.ClickHouseDriver
    jdbc-url: jdbc:clickhouse://xxxxx
    username: abc
    password: abc

第二步

创建对应的config class.

@Configuration
class ClickHouseDataSourceConfig {
    @Bean
    @ConfigurationProperties(prefix = "spring.datasource.clickhouse")
    fun clickhouseDataSource(
            @Value("${spring.datasource.clickhouse.username}") username: String,
            @Value("${spring.datasource.clickhouse.password}") password: String
    ): DataSource = DataSourceBuilder.create().type(HikariDataSource::class.java).build().apply {
        this.username = username
        this.password = password
        this.isReadOnly = true
    }
    
    @Bean("clickhouseJdbcTemplate") //配置JdbcTemplate,optional
    fun clickhouseJdbcTemplate(@Qualifier("clickhouseDataSource") dataSource: DataSource): JdbcTemplate =
        JdbcTemplate(dataSource)
}

至此集成clickhouse就结束啦.