java操作Apache druid的實例代碼
更新時間:2020年11月13日 10:29:30 作者:一一可可
這篇文章主要介紹了java操作Apache druid的實例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
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;
}
/**
* 關(guān)閉連接
* @throws SQLException
*/
public static void closeConnection() throws SQLException{
System.out.println("關(guān)閉線程:"+threadLocal.get());
AvaticaConnection conn = threadLocal.get();
if(conn != null){
conn.close();
threadLocal.remove();
}
}
/**
* 根據(jù)sql查詢結(jié)果
* @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();
}
}
}
到此這篇關(guān)于java操作Apache druid的實例代碼的文章就介紹到這了,更多相關(guān)java操作Apache druid內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
- Apache Calcite進行SQL解析(java代碼實例)
- Java使用Apache.POI中HSSFWorkbook導(dǎo)出到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對象池介紹
相關(guān)文章
IntelliJ IDEA 常用設(shè)置(配置)吐血整理(首次安裝必需)
這篇文章主要介紹了IntelliJ IDEA 常用設(shè)置(配置)吐血整理(首次安裝必需),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
解決StringBuffer和StringBuilder的擴容問題
這篇文章主要介紹了解決StringBuffer和StringBuilder的擴容問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07

