Todos os produtos
Search
Central de documentação

Lindorm:Guia do desenvolvedor do driver JDBC Java

Última atualização: Aug 25, 2026

Use o Lindorm JDBC Driver para se conectar e acessar o LindormTSDB. Este guia também aborda as operações de API e os métodos compatíveis.

Informações básicas

O JDBC Driver para LindormTSDB implementa as interfaces definidas na especificação JDBC 4.1. Como banco de dados de séries temporais, o LindormTSDB é compatível com um subconjunto dos recursos básicos definidos no JDBC 1.0.

Pré-requisitos

  • Java instalado. É necessário ter o Java Development Kit (JDK) 1.8 ou superior.

  • Endereço IP do cliente adicionado à lista de permissões do Lindorm. Para mais informações, consulte Defina uma lista de permissões.

  • Endereço de conexão do Lindorm TSDB obtido. Para mais informações, consulte Visualize endpoints.

Procedimento

  1. Instale a dependência do Lindorm JDBC Driver de uma das seguintes maneiras:

    • Instalação manual.

      Para integrar o JDBC Driver localmente, baixe o pacote JAR em Lindorm-all-client. Selecione a versão desejada. Por exemplo, para instalar a versão 2.1.2, baixe o pacote lindorm-all-client-2.1.2.jar.

    • Baixe via Maven.

      Para integrar o JDBC Driver em um projeto Maven, crie um projeto e adicione a seguinte dependência ao arquivo pom.xml:

      <dependency>
          <groupId>com.aliyun.lindorm</groupId>  
          <artifactId>lindorm-all-client</artifactId>
          <version>2.2.1.3</version>
      </dependency>
      Nota

      Defina o número da versão do lindorm-all-client conforme a versão necessária.

  2. Acesse o LindormTSDB. Para obter um exemplo de código completo, consulte Access example.

    1. Estabeleça uma conexão com o LindormTSDB.

      String url = "jdbc:lindorm:tsdb:url=http://<host:port>";
      Connection conn = DriverManager.getConnection(url);
      Nota
      • host:port: Endereço de conexão e porta do LindormTSDB. Exemplo: ld-bp17j28j2y7pm****-proxy-tsdb.lindorm.rds.aliyuncs.com:8242.

      • jdbc:lindorm:tsdb:url=http://<host:port>: Endereço de conexão JDBC.

    2. Crie um banco de dados e uma tabela no LindormTSDB.

      Statement stmt = conn.createStatement();
      
      stmt.execute("CREATE DATABASE test");
      stmt.execute("USE test");
      stmt.execute("CREATE TABLE sensor (device_id VARCHAR TAG,region VARCHAR TAG,time TIMESTAMP,temperature DOUBLE,humidity DOUBLE,PRIMARY KEY(device_id))");
    3. Insira dados na tabela sensor.

      // Bulk write data with PreparedStatement (recommended)
      PreparedStatement pstmt = conn.prepareStatement("INSERT INTO sensor (device_id, region, time, temperature, humidity) VALUES (?, ?, ?, ?, ?)");
      int batchSize = 100;
      long ts = System.currentTimeMillis();
      
      for (int i = 0; i < batchSize; i++) {
      
           // Bind parameters in the order of columns in the INSERT statement
           pstmt.setString(1, "F07A1260");
           pstmt.setString(2, "north-cn");
           pstmt.setLong(3, ts + i * 10000);
           pstmt.setDouble(4, 12.1);
           pstmt.setLong(5, 45);
      
           pstmt.addBatch();
      }
      
      pstmt.executeBatch();
      pstmt.clearBatch();
      
      // Bulk write data 
      Statement stmt = conn.createStatement();
      stmt.addBatch("INSERT INTO sensor(device_id, region, time, temperature, humidity) values('F07A1260','north-cn',1619076780000,12.1,45)");
      stmt.addBatch("INSERT INTO sensor(device_id, region, time, temperature, humidity) values('F07A1260','north-cn',1619076790000,13.2,47)");
      stmt.addBatch("INSERT INTO sensor(device_id, region, time, temperature, humidity) values('F07A1260','north-cn',1619076800000,10.6,46)");
      stmt.addBatch("INSERT INTO sensor(device_id, region, time, temperature, humidity) values('F07A1261','south-cn',1619076780000,18.1,44)");
      stmt.addBatch("INSERT INTO sensor(device_id, region, time, temperature, humidity) values('F07A1261','south-cn',1619076790000,19.7,44)");
      stmt.executeBatch();
      stmt.clearBatch();
      
      // Write a single row (not recommended)
      Statement stmt = conn.createStatement();
      stmt.execute("INSERT INTO sensor(device_id, region, time, temperature, humidity) values('F07A1260','north-cn',1619076780000,12.1,45)");
    4. Consulte dados na tabela sensor.

      ResultSet rs = stmt.executeQuery("select device_id, region,time,temperature,humidity from sensor where time >= 1619076780000 and time <= 1619076800000");
      
      while (rs.next()) {
          String device_id = rs.getString("device_id");
          String region = rs.getString("region");
          Long time = rs.getLong("time");
          Double temperature = rs.getDouble("temperature");
          Long humidity = rs.getLong("humidity");
          System.out.printf("%s %s %d %f %d\n", device_id, region, time, temperature, humidity);
      }