Tous les produits
Search
Centre de documentation

Lindorm:Guide du développeur pour le pilote JDBC Java

Dernière mise à jour :Aug 25, 2026

Utilisez le pilote JDBC Lindorm pour vous connecter à LindormTSDB et y accéder. Ce guide présente également les opérations et méthodes d'API prises en charge.

Contexte

Le pilote JDBC pour LindormTSDB implémente les interfaces définies dans la spécification JDBC 4.1. En tant que base de données de séries temporelles, LindormTSDB prend en charge un sous-ensemble des fonctionnalités de base définies dans JDBC 1.0.

Prérequis

  • Java est installé. Le kit de développement Java (JDK) version 1.8 ou ultérieure est requis.

  • L'adresse IP du client figure dans la liste d'autorisation de Lindorm. Pour plus d'informations, consultez Définir une liste d'autorisation.

  • Vous avez obtenu l'adresse de connexion pour Lindorm TSDB. Pour plus d'informations, consultez Afficher les endpoints.

Procédure

  1. Installez la dépendance du pilote JDBC Lindorm en suivant l'une des méthodes ci-dessous.

    • Installation manuelle.

      Pour intégrer le pilote JDBC localement, téléchargez le package JAR depuis Lindorm-all-client. Sélectionnez la version à installer. Par exemple, pour installer la version 2.1.2, téléchargez le package lindorm-all-client-2.1.2.jar.

    • Téléchargement via Maven.

      Pour intégrer le pilote JDBC dans un projet Maven, créez un projet et ajoutez la dépendance suivante au fichier pom.xml :

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

      Définissez le numéro de version de lindorm-all-client selon vos besoins.

  2. Accédez à LindormTSDB. Pour un exemple de code complet, consultez Exemple d'accès.

    1. Établissez une connexion à LindormTSDB.

      String url = "jdbc:lindorm:tsdb:url=http://<host:port>";
      Connection conn = DriverManager.getConnection(url);
      Remarque
      • host:port : adresse de connexion et port de LindormTSDB. Par exemple, ld-bp17j28j2y7pm****-proxy-tsdb.lindorm.rds.aliyuncs.com:8242.

      • jdbc:lindorm:tsdb:url=http://<host:port> : adresse de connexion JDBC.

    2. Créez une base de données et une table 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. Insérez des données dans la table 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. Interrogez les données de la table 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);
      }