spingboot集成clickhouse

springboot集成clickhouse

环境

  • jdk 1.8

  • springboot 2.2.8.RELEASE

  • clickhouse-jdbc 0.2.4

  • druid 1.1.10

搭建服务

maven依赖

        
        
        
            ru.yandex.clickhouse
            clickhouse-jdbc
            0.2.4
        
​
        
        
            com.alibaba
            druid-spring-boot-starter
            1.1.10
        
​
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.0.1
        

配置文件

application.yml

server:
  port: 8080
​
spring:
  application:
    name: clickhouse-demo
  profiles:
    active: dev

application-dev.yml

spring:
  datasource:
    clickhouse:
      type: com.alibaba.druid.pool.DruidDataSource
      url: jdbc:clickhouse://localhost:8123/tutorial
      username: default
      password: 155521
      driver-class-name: ru.yandex.clickhouse.ClickHouseDriver
      druid:
        initial-size: 5
        min-idle: 5
        max-active: 20
        max-wait: 60000
        time-between-eviction-runs-millis: 60000
        min-evictable-idle-time-millis: 300000
        test-while-idle: true
        validation-query: select 1
        pool-prepared-statements: true
        max-pool-prepared-statement-per-connection-size: 20

配置类

package com.sky.clickhousedemo.config;
​
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
​
import javax.sql.DataSource;
​
/**
 * @ClassName DataSourceClickhouse
 * @Descriptiron clickhouse数据源
 * @Author sky
 * @Date 2020/8/12 9:57
 **/
@Configuration
@MapperScan(basePackages = {"com.sky.clickhousedemo.dao"})
public class DataSourceClickhouse {
    @Bean
    @ConfigurationProperties(prefix = "spring.datasource.clickhouse")
    public DataSource dataSource() {
​
        return DruidDataSourceBuilder.create().build();
    }
    @Bean
    public SqlSessionFactory sqlSessionFactory(DataSource dataSource)
            throws Exception {
​
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        bean.setDataSource(dataSource);
        bean.setMapperLocations(
                new PathMatchingResourcePatternResolver().getResources("classpath:com/sky/clickhousedemo/mapper/*.xml"));
        return bean.getObject();
    }
}

项目结构

 

你可能感兴趣的:(数据库-click,spring,boot,大数据)