java使用influxDB数据库的详细代码

本文实例为大家分享了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);
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java数据库唯一id生成工具类

    本文实例为大家分享了java数据库唯一id生成工具类的具体代码,供大家参考,具体内容如下 import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import java.util.Random; import java.util.UUID; import org.springframework.dao.EmptyResultDataAccessExce

  • sqlite数据库的介绍与java操作sqlite的实例讲解

    sqlite是啥? 1.一种轻型数据库 2.关系型数据库 3.占用资源很低,几百K内存,适合嵌入式设备 4.支持windows.linux.unix 5.可与java.php.c#.python等结合 6.处理速度快于mysql 7.不需要配置.不需要安装.不需要管理 8.一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件,简单的说一个数据库就是一个单一文件 为啥要用它? 之前的web项目一直用的mysql数据库,因为目前的项目需要做一个桌面应用,可以在不同地方复用的,而我们不能

  • Java实现批量导入excel表格数据到数据库中的方法

    本文实例讲述了Java实现批量导入excel表格数据到数据库中的方法.分享给大家供大家参考,具体如下: 1.创建导入抽象类 package com.gcloud.common.excel; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintStream; import java.sql.SQLException;

  • Java emoji持久化mysql过程详解

    前言 好久没有更新博客了,今天和大家分享一个关于emoji表情持久化问题,相信做web开发的都遇到过这样的问题,因为我们知道mysql的utf-8字符集保存不了保存不了表情字符,这是为什么呢?因为普通的字符串或者表情都是占位3个字节,所以utf8足够用了,但是移动端的表情符号占位是4个字节,普通的utf8就不够用了,为了应对无线互联网的机遇和挑战.避免 emoji 表情符号带来的问题.涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集,这必须要作为移动互联网行业的一个技术选

  • Java使用JDBC连接postgresql数据库示例

    本文实例讲述了Java使用JDBC连接postgresql数据库.分享给大家供大家参考,具体如下: package tool; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class PsqlConnectionTool { p

  • 让Java后台MySQL数据库能够支持emoji表情的方法

    前言 公司最近在开发中遇到一个问题,在弄帖子的发布与回复问题,然后再iOS端和Android端添加表情的时候都会出错 Caused by: java.sql.SQLException: Incorrect string value: '\xF6\x9D\x98\x84' for column 'comment' at row 1 提示表情有问题,然后赶紧查资料. 首先数据库编码为UTF-8,字段content设置为text(CHARSET=utf8 COLLATE=utf8_unicode_ci

  • java处理数据库不支持的emoji表情符问题解决

    一般数据库的编码是utf8,utf8是不支持存储表情符的,当存入的微信昵称带有表情符时就会出现乱码情况,有两种解决方法: 1.mysql数据库升级到5.5版本以上,utf8改为utf8mb4,utf8mb4的字符最多可以是4个字节,可以存储表情符,重启数据库服务器,这种方式有可能会失效; 2.在java代码里过滤掉表情符,简洁高效,下面是过滤掉表情符的工具类: import java.util.regex.Matcher; import java.util.regex.Pattern; publ

  • java emoji表情存储的解决方法

    1.问题产生情况 我遇到这个问题是做微信开发的时候有些有用的头像用了微信的emoji表情,然而我的mysql数据库用的编码是utf8_general_ci,就是utf-8编码,结果也就报错误了. 2.为什么会出现这种原因 因为mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情.但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储. 3.解决方法之一 把你的数据库编码集设置为utf8mb4,无论是

  • java使用influxDB数据库的详细代码

    本文实例为大家分享了java使用influxDB数据库的具体代码,供大家参考,具体内容如下 1.pom.xml中导入jar包依赖 <!-- 引入influxdb依赖 --> <dependency> <groupId>org.influxdb</groupId> <artifactId>influxdb-java</artifactId> <version>2.5</version> </dependen

  • Java连接mysql数据库的详细教程(推荐)

    该教程是面向那些不知道如何通过java连接mysql数据库的新手,所以该教程用的方法不是最优的方法,但求是最好理解的方法. 需要的工具: eclipse.mysql.mysql的驱动 mysql驱动链接:mysql-connector-java-5.1.7.zip 如果该链接下载不了的话,可以私信我 1.在eclipse中创建一个工程:jdbc 2.在工程下创建lib文件夹 鼠标右键点击jdbc工程 --> New -->Folder. 文件夹命名为lib 3.导入mysql驱动 解压上述连接

  • Java连接postgresql数据库的示例代码

    本文介绍了Java连接postgresql数据库的示例代码,分享给大家,具体如下: 1.下载驱动jar 下载地址:https://jdbc.postgresql.org/download.html 2.导入jar包 新建lib文件夹,将下载的jar驱动包拖到文件夹中. 将jar驱动包添加到Libraries 3.程序代码如下:HelloWorld.java package test; import java.sql.Connection; import java.sql.DriverManage

  • Java连接MYSQL数据库的详细步骤

    本文主要以MySQL为例讲下Java如何连接到数据库的,具体内容如下 当然,首先要安装有JDK(一般是JDK1.5.X).然后安装MySQL,这些都比较简单,具体过程就不说了.配置好这两个环境后,下载JDBC驱动mysql-connector-java-5.0.5.zip(这个是最新版的).然后将其解压缩到任一目录.我是解压到D盘,然后将其目录下的mysql-connector-java-5.0.5-bin.jar加到classpath里,具体如下:"我的电脑"-> "

  • python链接sqlite数据库的详细代码实例

    一.创建数据库 创建sqlite数据库的代码 import sqlite3 conn = sqlite3.connect("test.db") print("成功创建数据库") 运行代码后左侧文件栏中会出现"test.db"文件, 二.链接数据库 视图->工具窗口->Database 此时编辑器右侧出现Database,点击添加按钮 点击路径选择按钮,找到创建好的"test.db"文件,选中 注意:Download

  • Java 实现网络爬虫框架详细代码

    目录 Java 实现网络爬虫框架 一.每个类的功能介绍 二.每个类的源代码 Java 实现网络爬虫框架 最近在做一个搜索相关的项目,需要爬取网络上的一些链接存储到索引库中,虽然有很多开源的强大的爬虫框架,但本着学习的态度,自己写了一个简单的网络爬虫,以便了解其中的原理.今天,就为小伙伴们分享下这个简单的爬虫程序!! 一.每个类的功能介绍 DownloadPage.java的功能是下载此超链接的页面源代码. FunctionUtils.java 的功能是提供不同的静态方法,包括:页面链接正则表达式

  • Java操作MongoDB数据库的示例代码

    mongodb-driver是mongo官方推出的java连接mongoDB的驱动包,相当于JDBC驱动. 环境准备 step1:创建工程 , 引入依赖 <dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb‐driver</artifactId> <version>3.6.3</version> </d

  • Eclipse+Java+Swing实现图书管理系统(详细代码)

    目录 一.系统介绍 二.系统展示 1.注册 2.登录 5.管理员端-添加图书类别 6.管理员端-修改图书类别 7.管理员端-添加图书 8.管理员端-修改图书 9.管理员端-管理用户信息 10.管理员端-查询借阅信息 三.部分代码 AdminMainFrm.java BookAddFrm.java BookManagerFrm.java BookInfoFrm.java BookTypeAddFrm.java BookTypeManagerFrm.java BorrowDetailFrm.java

  • 教你使用Java获取当前时间戳的详细代码

    要获取Java中的当前时间戳: Timestamp timestamp = new Timestamp(System.currentTimeMillis()); //2016-11-16 06:43:19.77 这是两个Java示例,向您展示如何获取Java中的当前时间戳. (使用Java 8更新) 1. java.sql.Timestamp 获得当前java.sql.Timestamp两种方法 TimeStampExample.java package com.mkyong.date; imp

  • java连接MySQL数据库的代码

    本文实例为大家分享了java连接MySQL数据库的具体代码,供大家参考,具体内容如下 package connect; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class Connect { //驱动程序位置 public static final String DBDRIVER="com.mysql.jdbc.Driver"; //连接地址

随机推荐