How to use Java to operate InfluxDB
To operate InfluxDB using Java, you need to add the following Maven dependencies:
<dependency>
<groupId>org.influxdb</groupId>
<artifactId>influxdb-java</artifactId>
<version>2.17</version>
</dependency>
The following is a sample code for Java implementation of data addition, deletion, modification, and query in InfluxDB:
import org.influxdb.InfluxDB;
import org.influxdb.InfluxDBFactory;
import org.influxdb.dto.BatchPoints;
import org.influxdb.dto.Point;
import org.influxdb.dto.Query;
import org.influxdb.dto.QueryResult;
import java.util.concurrent.TimeUnit;
public class InfluxDBOperations {
private static final String INFLUXDB_URL = "http://localhost:8086";
private static final String INFLUXDB_USERNAME = "username";
private static final String INFLUXDB_PASSWORD = "password";
private static final String DATABASE_NAME = "mydb";
public static void main(String[] args) {
//Connect to an InfluxDB instance
InfluxDB influxDB = InfluxDBFactory.connect(INFLUXDB_URL, INFLUXDB_USERNAME, INFLUXDB_PASSWORD);
//Create a database (if it does not exist)
influxDB.createDatabase(DATABASE_NAME);
//Select Database
influxDB.setDatabase(DATABASE_NAME);
//Create point data
Point point1 = Point.measurement("cpu")
.time(System.currentTimeMillis(), TimeUnit.MILLISECONDS)
.addField("value", 80)
.addField("host", "server1")
.build();
Point point2 = Point.measurement("cpu")
.time(System.currentTimeMillis(), TimeUnit.MILLISECONDS)
.addField("value", 65)
.addField("host", "server2")
.build();
//Write single point data
influxDB.write(point1);
//Batch write point data
BatchPoints batchPoints = BatchPoints.database(DATABASE_NAME)
.point(point2)
.build();
influxDB.write(batchPoints);
//Query data
Query query = new Query("SELECT value FROM cpu", DATABASE_NAME);
QueryResult queryResult = influxDB.query(query);
System.out.println(queryResult);
//Delete data
Query deleteQuery = new Query("DELETE FROM cpu WHERE host = 'server1'", DATABASE_NAME);
influxDB.query(deleteQuery);
//Close Connection
influxDB.close();
}
}
Please ensure that INFLUXDB_ URL, INFLUXDB_ USERNAME, INFLUXDB_ Replace PASSWORD with the actual InfluxDB connection information.