java操作Apache druid的實例代碼
更新時間:2020年11月13日 10:29:30 作者:一一可可
這篇文章主要介紹了java操作Apache druid的實例代碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(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進(jìn)行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è)置(配置)吐血整理(首次安裝必需),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06解決StringBuffer和StringBuilder的擴(kuò)容問題
這篇文章主要介紹了解決StringBuffer和StringBuilder的擴(kuò)容問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07