java操作Apache druid的實(shí)例代碼
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 下午 **/@Componentpublic 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的實(shí)例代碼的文章就介紹到這了,更多相關(guān)java操作Apache druid內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. python web框架的總結(jié)2. 以PHP代碼為實(shí)例詳解RabbitMQ消息隊(duì)列中間件的6種模式3. Python如何進(jìn)行時(shí)間處理4. python使用ctypes庫(kù)調(diào)用DLL動(dòng)態(tài)鏈接庫(kù)5. 詳解Python模塊化編程與裝飾器6. Python基于pyjnius庫(kù)實(shí)現(xiàn)訪問(wèn)java類7. Python使用shutil模塊實(shí)現(xiàn)文件拷貝8. Python實(shí)現(xiàn)迪杰斯特拉算法過(guò)程解析9. html小技巧之td,div標(biāo)簽里內(nèi)容不換行10. python裝飾器三種裝飾模式的簡(jiǎn)單分析
