欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java使用influxDB數據庫的詳細代碼

 更新時間:2018年07月27日 09:28:30   作者:java開發(fā)鼻祖  
這篇文章主要為大家介紹了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(){
    //創(chuàng)建 連接
    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();
  }
 
  /**
   * 創(chuàng)建數據庫
   * @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);
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java的無參構造函數用法實例分析

    Java的無參構造函數用法實例分析

    這篇文章主要介紹了Java的無參構造函數用法,結合實例形式分析了java無參構造函數基本原理、用法及相關操作注意事項,需要的朋友可以參考下
    2019-09-09
  • 使用Gradle打依賴包失敗的問題及解決

    使用Gradle打依賴包失敗的問題及解決

    這篇文章主要介紹了使用Gradle打依賴包失敗的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • springboot整合通用Mapper簡化單表操作詳解

    springboot整合通用Mapper簡化單表操作詳解

    這篇文章主要介紹了springboot整合通用Mapper簡化單表操作,通用Mapper是一個基于Mybatis,將單表的增刪改查通過通用方法實現(xiàn),來減少SQL編寫的開源框架,需要的朋友可以參考下
    2019-06-06
  • 深入淺出JAVA MyBatis-快速入門

    深入淺出JAVA MyBatis-快速入門

    這篇文章主要介紹了在今天這篇博文中,我將要介紹一下mybatis的框架原理,以及mybatis的入門程序,實現(xiàn)用戶的增刪改查,她有什么優(yōu)缺點以及mybatis和hibernate之間存在著怎么樣的關系,大家這些問題一起通過本文學習吧
    2021-06-06
  • 分布式面試分布式鎖實現(xiàn)及應用場景

    分布式面試分布式鎖實現(xiàn)及應用場景

    這篇文章主要為大家介紹了關于分布式的面試問題,分布式鎖的實現(xiàn)及應用不同場景下的使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • springboot如何使用logback-spring配置日志格式,并分環(huán)境配置

    springboot如何使用logback-spring配置日志格式,并分環(huán)境配置

    這篇文章主要介紹了springboot如何使用logback-spring配置日志格式,并分環(huán)境配置的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 深入淺析Netty 在 Dubbo 中是如何應用的

    深入淺析Netty 在 Dubbo 中是如何應用的

    國內知名框架 Dubbo 底層使用的是 Netty 作為網絡通信,那么內部到底是如何使用的呢?今天通過本文給大家詳細講解,對Netty 在 Dubbo中應用相關知識感興趣的朋友跟隨小編一起看看吧
    2020-05-05
  • springboot項目如何在linux服務器上啟動、停止腳本

    springboot項目如何在linux服務器上啟動、停止腳本

    這篇文章主要介紹了springboot項目如何在linux服務器上啟動、停止腳本問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Spring根據XML配置文件 p名稱空間注入屬性的實例

    Spring根據XML配置文件 p名稱空間注入屬性的實例

    下面小編就為大家分享一篇Spring根據XML配置文件 p名稱空間注入屬性的實例,具有很好的參考價值。希望對大家有所幫助
    2017-11-11
  • 使用SpringBoot設置虛擬路徑映射絕對路徑

    使用SpringBoot設置虛擬路徑映射絕對路徑

    這篇文章主要介紹了使用SpringBoot設置虛擬路徑映射絕對路徑的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評論