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

到此这篇关于java操作Apache druid的实例代码的文章就介绍到这了,更多相关java操作Apache druid内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion问题解决方法

    读取本地的xml文件,通过DOM进行解析,DOM解析的特点就是把整个xml文件装载入内存中,形成一颗DOM树形结构,树结构是方便遍历和和操纵. DOM解析的特性就是读取xml文件转换为 dom树形结构,通过节点进行遍历. 这是W3c关于节点的概念 如果xml中包含有大量的数据,由于dom一次性把xml装入内存中的特性,所以dom不适合于包含大量数据的xml解析.当包含有大量xml的时候,用SAX进行解析比较节省内存. 下面是一个运用DOM进行解析xml文件的例子: xml文件结构如下: <?xm

  • Java使用Apache POI库读取Excel表格文档的示例

    Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能. 项目下载页:http://poi.apache.org/download.html Apache POI 是创建和维护操作各种符合Office Open XML(OOXML)标准和微软的OLE 2复合文档格式(OLE2)的Java API.用它可以使用Java读取和创建,修改MS Excel文件.而且,还可以使用Jav

  • Java Mail与Apache Mail发送邮件示例

    一.邮件简介 一封邮件由很多信息构成,主要的信息如下,其他的暂时不考虑,例如抄送等: 1.收件人:收件人的邮箱地址,例如xxx@xx.com 2.收件人姓名:大部分的邮件显示时都会显示,例如loadfate 779554589@qq.com 3.发件人:发件人的邮箱地址 4.发件人姓名: 5.主题:邮件的标题 6.内容及附件:邮件的主要内容 二.使用Java发邮件的通用步骤 一般的项目中没有单独的邮件服务器,一般情况下都是使用别人的服务器. 1.设置smtp服务器:不同的邮件服务器有不同的地址,

  • Druid基本配置及内置监控使用_动力节点Java学院整理

    1.  使用方法 首先从http://repo1.maven.org/maven2/com/alibaba/druid/ 下载最新的jar包.如果想使用最新的源码编译,可以从https://github.com/alibaba/druid 下载源码,然后使用maven命令行,或者导入到eclipse中进行编译. 和dbcp类似,druid的配置项如下: 配置 缺省值 说明 name 配置这个属性的意义在于,如果存在多个数据源,监控的时候 可以通过名字来区分开来.如果没有配置,将会生成一个名字,

  • eBay 打造基于 Apache Druid 的大数据实时监控系统

    首先需要注意的是,本文即将提到的 Druid,并非阿里巴巴的 Druid 数据库连接池,而是另一个大数据场景下的解决方案:Apache Druid. Apache Druid 是一个用于大数据实时查询和分析的高容错.高性能开源分布式时序数据库系统,旨在快速处理大规模的数据,并能够实现快速查询和分析.尤其是当发生代码部署.机器故障以及其他产品系统遇到宕机等情况时,Druid 仍能够保持 100% 正常运行.创建 Druid 的最初意图主要是为了解决查询延迟问题,当时试图使用 Hadoop 来实现交

  • 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.calcit

  • Java实现FTP服务器功能实例代码

    FTP(File Transfer Protocol 文件传输协议)是Internet 上用来传送文件的协议.在Internet上通过FTP 服务器可以进行文件的上传(Upload)或下载(Download).FTP是实时联机服务,在使用它之前必须是具有该服务的一个用户(用户名和口令),工作时客户端必须先登录到作为服务器一方的计算机上,用户登录后可以进行文件搜索和文件传送等有关操作,如改变当前工作目录.列文件目录.设置传输参数及传送文件等.使用FTP可以传送所有类型的文件,如文本文件.二进制可执

  • HDFS的Java API的访问方式实例代码

    本文研究的主要是HDFS的Java API的访问方式,具体代码如下所示,有详细注释. 最近的节奏有点儿快,等有空的时候把这个封装一下 实现代码 要导入的包: import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.BlockLocation

  • Java生成压缩文件的实例代码

    在工作过程中,需要将一个文件夹生成压缩文件,然后提供给用户下载.所以自己写了一个压缩文件的工具类.该工具类支持单个文件和文件夹压缩.放代码: import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.tools.zip.ZipEntry; import org.apache.

  • java操作mongoDB查询的实例详解

    java操作mongo查询的实例详解 前言: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且

  • java中的 toString()方法实例代码

    前言: toString()方法 相信大家都用到过,一般用于以字符串的形式返回对象的相关数据. 最近项目中需要对一个ArrayList<ArrayList<Integer>> datas  形式的集合处理. 处理要求把集合数据转换成字符串形式,格式为 :子集合1数据+"#"+子集合2数据+"#"+....+子集合n数据. 举例: 集合数据 :[[1,2,3],[2,3,5]]  要求转成为 "[1,2,3]#[2,3,5]"

  • C#与Java的MD5简单验证(实例代码)

    C#端 using System; using System.IO; using System.Security.Cryptography; namespace 计算文件的MD5值 { class MD5_Helper { /// <summary> /// 文件MD5校验 /// </summary> /// <param name="pathName">文件绝对路径</param> /// <returns>MD5校验码&

  • java token生成和校验的实例代码

    现在越来越多的登录方式都用到了token作为用户登录令牌,所以实现了一个token生成和校验案例. 缺点:该实现方式token是存储在内存中,不适合分布式项目,如需改为分布式项目部署,可把token存储在redis中,其中的实现原理还是保持不变. 一)token编码工具类 package com.oysept.token.utils; /** * token编码工具类 * @author ouyangjun */ public class TokenEncryptUtils { // 编码密码,

  • ASP.NET操作MySql数据库的实例代码讲解

    一.把MySql.Data.dll放到BIN目录下. 二.这是aspx.cs的全部源码,修改参数直接运行即可!   using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; publ

  • C#操作字符串方法总结实例代码

    废话不多说了,具体代码如下所述: staticvoid Main(string[] args) { string s =""; //(1)字符访问(下标访问s[i]) s ="ABCD"; Console.WriteLine(s[0]); // 输出"A"; Console.WriteLine(s.Length); // 输出4 Console.WriteLine(); //(2)打散为字符数组(ToCharArray) s ="ABC

随机推荐