最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot配置Clickhouse的示例代碼

 更新時(shí)間:2022年02月18日 14:36:23   作者:元宇宙-Metaverse  
這篇文章主要介紹了SpringBoot配置Clickhouse的示例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考價(jià)值,需要的朋友可以參考下

一、加入clickhouse jar包依賴

 <dependency>
        <groupId>ru.yandex.clickhouse</groupId>
        <artifactId>clickhouse-jdbc</artifactId>
        <version>0.1.53</version>
    </dependency>

二、配置Clickhouse數(shù)據(jù)庫(kù)連接屬性配置文件,clickhouse默認(rèn)沒(méi)有密碼

spring:
  datasource:
    clickhouse:
      address: jdbc:clickhouse://127.0.0.1:8123
      username: default
      password:
      db: system
      socketTimeout: 600000

三、編寫(xiě)Clickhouse數(shù)據(jù)庫(kù)連接操作工具類

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import ru.yandex.clickhouse.ClickHouseConnection;
import ru.yandex.clickhouse.ClickHouseDataSource;
import ru.yandex.clickhouse.settings.ClickHouseProperties;

import java.sql.*;
import java.util.*;
@Slf4j
@Component
public class ClickHouseConfig {
    private static String clickhouseAddress;
    private static String clickhouseUsername;
    private static String clickhousePassword;
    private static String clickhouseDB;
    private static Integer clickhouseSocketTimeout;
    @Value("${spring.datasource.clickhouse.address}")
    public  void setClickhouseAddress(String address) {
        ClickHouseConfig.clickhouseAddress = address;
    }
    @Value("${spring.datasource.clickhouse.username}")
    public  void setClickhouseUsername(String username) {
        ClickHouseConfig.clickhouseUsername = username;
    @Value("${spring.datasource.clickhouse.password}")
    public  void setClickhousePassword(String password) {
        ClickHouseConfig.clickhousePassword = password;
    @Value("${spring.datasource.clickhouse.db}")
    public  void setClickhouseDB(String db) {
        ClickHouseConfig.clickhouseDB = db;
    @Value("${spring.datasource.clickhouse.socketTimeout}")
    public  void setClickhouseSocketTimeout(Integer socketTimeout) {
        ClickHouseConfig.clickhouseSocketTimeout = socketTimeout;
    public static Connection getConn() {
        ClickHouseConnection conn = null;
        ClickHouseProperties properties = new ClickHouseProperties();
        properties.setUser(clickhouseUsername);
        properties.setPassword(clickhousePassword);
        properties.setDatabase(clickhouseDB);
        properties.setSocketTimeout(clickhouseSocketTimeout);
        ClickHouseDataSource clickHouseDataSource = new ClickHouseDataSource(clickhouseAddress,properties);
        try {
            conn = clickHouseDataSource.getConnection();
            return conn;
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    public static List<Map<String,String>> exeSql(String sql){
        log.info("cliockhouse 執(zhí)行sql:" + sql);
        Connection connection = getConn();
            Statement statement = connection.createStatement();
            ResultSet results = statement.executeQuery(sql);
            ResultSetMetaData rsmd = results.getMetaData();
            List<Map<String,String>> list = new ArrayList<>();
            while(results.next()){
                Map<String,String> row = new HashMap<>();
                for(int i = 1;i<=rsmd.getColumnCount();i++){
                    row.put(rsmd.getColumnName(i),results.getString(rsmd.getColumnName(i)));
                }
                list.add(row);
            }
            return list;
}

四、是用測(cè)試方法執(zhí)行sql查詢數(shù)據(jù)

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;
import java.util.Map;
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class ClickHouseConfigTest {
    @Test
    public void exeSql() {
            log.info("===========測(cè)試開(kāi)始============");
            String sql="select cluster,shard_num from clusters";
            List<Map<String,String>> result= ClickHouseConfig.exeSql(sql);
            log.info("===========查詢技術(shù)============");
            log.info("clickhouse查詢結(jié)果為:{}",result);
    }
}

測(cè)試成功

轉(zhuǎn)自:https://www.dianjilingqu.com/

到此這篇關(guān)于SpringBoot配置Clickhouse的文章就介紹到這了,更多相關(guān)SpringBoot配置Clickhouse內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ZooKeeper Java API編程實(shí)例分析

    ZooKeeper Java API編程實(shí)例分析

    本文主要通過(guò)實(shí)例給大家詳細(xì)分析了ZooKeeper用JAVA實(shí)現(xiàn)API編程的知識(shí)要點(diǎn)。
    2017-11-11
  • Java使用FilenameFilter查找出目錄下指定后綴的文件示例

    Java使用FilenameFilter查找出目錄下指定后綴的文件示例

    這篇文章主要介紹了Java使用FilenameFilter查找出目錄下指定后綴的文件,結(jié)合實(shí)例形式分析了java基于FilenameFilter類的文件遍歷、查找相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • java編寫(xiě)Http服務(wù)器下載工具

    java編寫(xiě)Http服務(wù)器下載工具

    這篇文章主要介紹了java編寫(xiě)Http服務(wù)器下載工具的方法,工具很簡(jiǎn)單,功能也很簡(jiǎn)單,代碼就更簡(jiǎn)潔了,卻非常實(shí)用,有需要的小伙伴參考下吧。
    2015-03-03
  • Java中的重要核心知識(shí)點(diǎn)之繼承詳解

    Java中的重要核心知識(shí)點(diǎn)之繼承詳解

    繼承是java面向?qū)ο缶幊碳夹g(shù)的一塊基石,因?yàn)樗试S創(chuàng)建分等級(jí)層次的類。繼承就是子類繼承父類的特征和行為,使得子類對(duì)象(實(shí)例)具有父類的實(shí)例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為
    2021-10-10
  • DecimalFormat多種用法詳解

    DecimalFormat多種用法詳解

    這篇文章主要為大家詳細(xì)介紹了DecimalFormat的多種用法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • JavaWeb實(shí)現(xiàn)RSA+AES混合加密

    JavaWeb實(shí)現(xiàn)RSA+AES混合加密

    RSA+AES的混合加密時(shí),AES用于給傳輸?shù)臄?shù)據(jù)加密,然后通過(guò)RSA給AES的秘鑰加密,本文就來(lái)詳細(xì)的介紹一下如何實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • mybaits-plus?lambdaQuery()?和?lambdaUpdate()?常見(jiàn)的使用方法

    mybaits-plus?lambdaQuery()?和?lambdaUpdate()?常見(jiàn)的使用方法

    MyBatis-Plus是一個(gè)?MyBatis?(opens?new?window)的增強(qiáng)工具,在?MyBatis?的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生,這篇文章主要介紹了mybaits-plus?lambdaQuery()?和?lambdaUpdate()?比較常見(jiàn)的使用方法,需要的朋友可以參考下
    2023-01-01
  • Java中的自定義異常實(shí)現(xiàn)方式

    Java中的自定義異常實(shí)現(xiàn)方式

    這篇文章主要介紹了Java中的自定義異常實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • java8新特性之stream的collect實(shí)戰(zhàn)教程

    java8新特性之stream的collect實(shí)戰(zhàn)教程

    這篇文章主要介紹了java8新特性之stream的collect實(shí)戰(zhàn)教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • 輕松掌握J(rèn)ava備忘錄模式

    輕松掌握J(rèn)ava備忘錄模式

    這篇文章主要幫助大家輕松掌握J(rèn)ava備忘錄模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09

最新評(píng)論

潢川县| 邮箱| 平舆县| 五莲县| 汉寿县| 康定县| 麻栗坡县| 内黄县| 莱州市| 武冈市| 内乡县| 盱眙县| 河东区| 德钦县| 竹山县| 巴彦县| 尼勒克县| 舟曲县| 德保县| 大安市| 交口县| 沙洋县| 石河子市| 广南县| 阿拉尔市| 三台县| 武夷山市| 巴林右旗| 屯昌县| 澜沧| 兴国县| 墨玉县| 河津市| 清流县| 德州市| 咸阳市| 侯马市| 左权县| 玛沁县| 平果县| 余干县|