网站流量合作dedecms 网站还原
web/
2025/9/27 11:41:14/
文章来源:
网站流量合作,dedecms 网站还原,花关键词排名系统,成都网站搭建公司哪家便宜有用influxdb2 不支持sql#xff0c;并且实质是个列存储数据库#xff0c;这里基于
influxdb-client-java 和 beanutils反射#xff0c;写了个数据查询#xff0c;把结果以行对象的形式返回的工具类。
package com.joy.malltools.influxdb2;import com.influxdb.client.Q…有用influxdb2 不支持sql并且实质是个列存储数据库这里基于
influxdb-client-java 和 beanutils反射写了个数据查询把结果以行对象的形式返回的工具类。
package com.joy.malltools.influxdb2;import com.influxdb.client.QueryApi;
import com.influxdb.query.FluxRecord;
import com.influxdb.query.FluxTable;
import org.apache.commons.beanutils.PropertyUtils;import java.util.List;
import java.util.Map;/*** 对应influxDB2的查询结果的处理*/
public class InfluxDB2Util2 {/**** param clz 类型* param queryApi 待转换的查询集合* param sql influxdb2的查询语句* param extStrColumns 额外的String类型的字段名一般为tag* return clz类型的对象数组* param T*/public static T T[] testStatSql(ClassT clz, QueryApi queryApi, String sql, String[] extStrColumns) {System.out.println(sql);ListFluxTable query queryApi.query(sql);int count query.get(0).getRecords().size();System.out.println(记录条数.size count);T[] vos (T[]) java.lang.reflect.Array.newInstance(clz, count);for (int k 0; k count; k) {try {vos[k] clz.newInstance();} catch (Exception e) {e.printStackTrace();}}for (int i0;iquery.size();i) {FluxTable fluxTable query.get(i);System.out.println(records.size fluxTable.getRecords().size());ListFluxRecord recordList fluxTable.getRecords();for (int j0;jrecordList.size();j) {FluxRecord fr recordList.get(j);System.out.println(时间 fr.getTime() 求记录数 fr.getValue());System.out.println(时间 fr.getTime() 字段名 fr.getField() measurement fr.getMeasurement());MapString, Object valueMap fr.getValues();System.out.print(key : valueMap.get(_field) ; value valueMap.get(_value) |);try {PropertyUtils.setProperty(vos[j], valueMap.get(_field), valueMap.get(_value));} catch (Exception e) {e.printStackTrace();}if (extStrColumns ! null extStrColumns.length 0)for (String colStr : extStrColumns) {setProperty(vos[j], colStr, fr.getValueByKey(colStr));}
// setProperty(vos[j], location, fr.getValueByKey(location));
// setProperty(vos[j], description, fr.getValueByKey(description));}System.out.println();}System.out.println(数据集合 -- );for (Object vo: vos) {System.out.println(vo -- vo);}return vos;}private static void setProperty(Object obj, String fieldName, String value) {try {PropertyUtils.setProperty(obj, fieldName, value);} catch (Exception e) {e.printStackTrace();}}}主要依赖的jar dependencygroupIdcom.influxdb/groupIdartifactIdinfluxdb-client-java/artifactIdversion6.5.0/version/dependencydependencygroupIdcommons-beanutils/groupIdartifactIdcommons-beanutils/artifactIdversion1.9.4/version/dependency
调用示例
String sql from(bucket: \test\)\n | range(start: -3d)\n | filter(fn: (r) r[\_measurement\] \h2o_feet\ )\n | yield(name: \mean\);InfluxDBClient influxDBClient InfluxDBClientFactory.create(url,token.toCharArray(),org,bucket);QueryApi queryApi influxDBClient.getQueryApi();String[] strColAry new String[]{location, description};WaterVO[] objs InfluxDB2Util2.testStatSql(WaterVO.class, queryApi, sql, strColAry);System.out.println(-- ---------------- vo ---------------- -- );for (WaterVO vo: objs) {System.out.println(vo -- vo);}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82741.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!