软件编程
位置:首页>> 软件编程>> java编程>> java操作Apache druid的实例代码

java操作Apache druid的实例代码

作者:一一可可  发布时间:2023-12-24 02:10:58 

标签: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();
   }
 }
}

来源:https://blog.csdn.net/weixin_41452575/article/details/109668693

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com