今天就跟大家聊聊有关influxDB数据库怎么在java中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
成都网站建设哪家好,找创新互联公司!专注于网页设计、成都网站建设、微信开发、成都小程序开发、集团企业网站制作等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都资质代办等众多领域,积累了大量丰富的经验,同时也获得了客户的一致赞扬!
1.pom.xml中导入jar包依赖
org.influxdb influxdb-java 2.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; /** * 时序数据库 InfluxDB 连接 * @author Dai_LW * */ 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; } /**连接时序数据库;获得InfluxDB**/ public InfluxDB influxDbBuild(){ if(influxDB == null){ influxDB = InfluxDBFactory.connect(openurl, username, password); influxDB.createDatabase(database); } return influxDB; } /** * 设置数据保存策略 * defalut 策略名 /database 数据库名/ 30d 数据保存时限30天/ 1 副本个数为1/ 结尾DEFAULT 表示 设为默认的策略 */ 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); } /** * 查询 * @param command 查询语句 * @return */ public QueryResult query(String command){ return influxDB.query(new Query(command, database)); } /** * 插入 * @param tags 标签 * @param fields 字段 */ public void insert(Maptags, Map fields){ Builder builder = Point.measurement(measurement); builder.tag(tags); builder.fields(fields); influxDB.write(database, "", builder.build()); } /** * 删除 * @param command 删除语句 * @return 返回错误信息 */ public String deleteMeasurementData(String command){ QueryResult result = influxDB.query(new Query(command, database)); return result.getError(); } /** * 创建数据库 * @param dbName */ public void createDB(String dbName){ influxDB.createDatabase(dbName); } /** * 删除数据库 * @param 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(); Maptags = 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); } }
看完上述内容,你们对influxDB数据库怎么在java中使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。