本文实例为大家分享了java使用influxDB数据库的具体代码,供大家参考,具体内容如下
1.pom.xml中导入jar包依赖
org.influxdb influxdb-java2.5
2.编写influxDB工具类:
package com.hontye.parameter.util;
import org.influxdb.InfluxDB;
import org.influxdb.InfluxDBFactory;
import org.influxdb.dto.Point;
import org.influxdb.dto.Point.Builder;
import org.influxdb.dto.Query;
import org.influxdb.dto.QueryResult;
import java.util.Map;
public class InfluxDbUtil {
private static String openurl = "http://127.0.0.1:8086";//连接地址
private static String username = "root";//用户名
private static String password = "root";//密码
private static String database = "PARAMTER_DB";//数据库
private static String measurement = "tw_parameter_tb";//表名
private InfluxDB influxDB;
public InfluxDbUtil(String username, String password, String openurl, String database){
this.username = username;
this.password = password;
this.openurl = openurl;
this.database = database;
}
public static InfluxDbUtil setUp(){
//创建 连接
InfluxDbUtil influxDbUtil = new InfluxDbUtil(username, password, openurl, database);
influxDbUtil.influxDbBuild();
influxDbUtil.createRetentionPolicy();
// influxDB.deleteDB(database);
// influxDB.createDB(database);
return influxDbUtil;
}
public InfluxDB influxDbBuild(){
if(influxDB == null){
influxDB = InfluxDBFactory.connect(openurl, username, password);
influxDB.createDatabase(database);
}
return influxDB;
}
public void createRetentionPolicy(){
String command = String.format("CREATE RETENTION POLICY "%s" ON "%s" DURATION %s REPLICATION %s DEFAULT",
"defalut", database, "30d", 1);
this.query(command);
}
public QueryResult query(String command){
return influxDB.query(new Query(command, database));
}
public void insert(Map tags, Map fields){
Builder builder = Point.measurement(measurement);
builder.tag(tags);
builder.fields(fields);
influxDB.write(database, "", builder.build());
}
public String deleteMeasurementData(String command){
QueryResult result = influxDB.query(new Query(command, database));
return result.getError();
}
public void createDB(String dbName){
influxDB.createDatabase(dbName);
}
public void deleteDB(String dbName){
influxDB.deleteDatabase(dbName);
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getOpenurl() {
return openurl;
}
public void setOpenurl(String openurl) {
this.openurl = openurl;
}
public void setDatabase(String database) {
this.database = database;
}
}
3.存值
public class QuatyServiceImpl{
private InfluxDbUtil influxDB;
public void intoDb() {
influxDB = InfluxDbUtil.setUp();
Map tags = new HashMap<>();
Map fields = new HashMap<>();
tags.put("TAG_NAME",info.getKey());
fields.put("TAG_VALUE",code);
fields.put("TIMAMPEST", df.format(new Date()));
influxDB.insert(tags, fields);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



