1. 添加maven依赖包
org.apache.calcite.avatica avatica-core1.15.0
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;
@Component
public class DruidJdbcUtil {
private static ThreadLocal threadLocal = new ThreadLocal<>();
private static final String DRUID_URL = "jdbc:avatica:remote:url=http://172.16.0.160:8888/druid/v2/sql/avatica/";
public static AvaticaConnection connection() throws SQLException {
Properties properties = new Properties();
AvaticaConnection connection = (AvaticaConnection) DriverManager.getConnection(DRUID_URL, properties);
threadLocal.set(connection);
return connection;
}
public static void closeConnection() throws SQLException{
System.out.println("关闭线程:"+threadLocal.get());
AvaticaConnection conn = threadLocal.get();
if(conn != null){
conn.close();
threadLocal.remove();
}
}
public static ResultSet executeQuery (String sql) throws SQLException{
AvaticaStatement statement = connection().createStatement();
ResultSet resultSet = statement.executeQuery(sql);
return resultSet;
}
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内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!



