本文实例为大家分享了java使用influxdb数据库的具体代码,供大家参考,具体内容如下
1.pom.xml中导入jar包依赖
<!-- 引入influxdb依赖 --> <dependency> <groupid>org.influxdb</groupid> <artifactid>influxdb-java</artifactid> <version>2.5</version> </dependency>
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(map<string, string> tags, map<string, object> 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(); map<string, string> tags = new hashmap<>(); map<string, object> 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); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问, 点击进行留言回复!!
android sdk源码 andoid-21 下的TextUtils.java文本工具类 源码赏析
地理坐标(WGS84),投影坐标下(Mercator)切片系统的计算Java类
荐 JavaWeb~简单认识以太网、MAC地址、MTU机制、ARP协议、DNS协议
HUAWEI MH5000-31 LGA Module Hardware Guide draft
网友评论