java操作Apache druid的實例代碼
更新時間:2020年11月13日 10:29:30 作者:一一可可
這篇文章主要介紹了java操作Apache druid的實例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
1. 添加maven依賴包
<dependency> <groupId>org.apache.calcite.avatica</groupId> <artifactId>avatica-core</artifactId> <version>1.15.0</version> </dependency>
2. 編寫工具類
package com.hnu.druid;
import org.apache.calcite.avatica.AvaticaConnection;
import org.apache.calcite.avatica.AvaticaStatement;
import org.springframework.stereotype.Component;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Properties;
/**
* @description:
* @author: YUANHX
* @create: 7:11 下午
**/
@Component
public class DruidJdbcUtil {
private static ThreadLocal<AvaticaConnection> threadLocal = new ThreadLocal<>();
private static final String DRUID_URL = "jdbc:avatica:remote:url=http://172.16.0.160:8888/druid/v2/sql/avatica/";
/**
* 打開連接
* @param
* @return
* @throws SQLException
*/
public static AvaticaConnection connection() throws SQLException {
Properties properties = new Properties();
AvaticaConnection connection = (AvaticaConnection) DriverManager.getConnection(DRUID_URL, properties);
threadLocal.set(connection);
return connection;
}
/**
* 關閉連接
* @throws SQLException
*/
public static void closeConnection() throws SQLException{
System.out.println("關閉線程:"+threadLocal.get());
AvaticaConnection conn = threadLocal.get();
if(conn != null){
conn.close();
threadLocal.remove();
}
}
/**
* 根據sql查詢結果
* @param
* @param sql
* @return
* @throws SQLException
*/
public static ResultSet executeQuery (String sql) throws SQLException{
AvaticaStatement statement = connection().createStatement();
ResultSet resultSet = statement.executeQuery(sql);
return resultSet;
}
/*public static Object crud(String sql, Class clazz, List<Object> params) throws SQLException{
AvaticaStatement statement = connection().createStatement();
Object obj = null;
for (int i = 0; i < params.size(); i++) {
statement.set
}
return obj;
}*/
public static void main(String[] args) {
try {
String sql = "SELECT * FROM \"vehicleCondition\" limit 20";
for (int i = 0; i < 5; i++) {
ResultSet resultSet = executeQuery(sql);
System.out.println("開始連接"+i + "; 連接線程:"+threadLocal.get());
while(resultSet.next()){
String equipmentCode = resultSet.getString("EquipmentCode");
String vkaCode = resultSet.getString("VKACode");
// System.out.println(equipmentCode + " ; "+ vkaCode);
}
closeConnection();
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
到此這篇關于java操作Apache druid的實例代碼的文章就介紹到這了,更多相關java操作Apache druid內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
- Apache Calcite進行SQL解析(java代碼實例)
- Java使用Apache.POI中HSSFWorkbook導出到Excel的實現(xiàn)方法
- 淺析Java中Apache BeanUtils和Spring BeanUtils的用法
- Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.Transformer異常
- Java常用類庫Apache Commons工具類說明及使用實例詳解
- Java利用apache ftp工具實現(xiàn)文件上傳下載和刪除功能
- Java?Apache?common-pool對象池介紹
相關文章
SpringBoot如何讀取mock數(shù)據(高效調試接口)
本文介紹如何在SpringBoot項目中讀取resources目錄下的mock數(shù)據文件,以便高效調試接口,在 Spring Boot 項目中,通常會將靜態(tài)資源或配置文件放在 src/main/resources 目錄下,下面通過實例給大家詳細介紹,感興趣的朋友一起看看吧2024-12-12
詳解SpringBoot中的統(tǒng)一功能處理的實現(xiàn)
這篇文章主要為大家詳細介紹了SpringBoot如何實現(xiàn)統(tǒng)一功能處理,文中的示例代碼講解詳細,對我們學習或工作有一定借鑒價值,需要的可以參考一下2023-01-01
xxl-job 帶參數(shù)執(zhí)行和高可用部署方法
這篇文章主要介紹了xxl-job 帶參數(shù)執(zhí)行和高可用部署,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04

