springboot整合influxdb数据库遇到的一些小问题

问题1
报错:Character array is missing “e” notation exponential mark.

java.lang.NumberFormatException: Character array is missing "e" notation exponential mark.
	at java.base/java.math.BigDecimal.<init>(BigDecimal.java:578) ~[na:na]
	at java.base/java.math.BigDecimal.<init>(BigDecimal.java:402) ~[na:na]
	at java.base/java.math.BigDecimal.<init>(BigDecimal.java:835) ~[na:na]
	at spring.controller.DataController.lambda$0(DataController.java:67) ~[classes/:na]
	……

经过我不断的对比两份及以上的连接influxdb数据的代码,终于找到了原因:

/**
	 * * 查询 * @param command 查询语句 * @return
	 */
	public QueryResult query(String command) {
		return influxDB.query(new Query(command, database));
	}

代码应该为

/**
	 * * 查询 * @param command 查询语句 * @return
	 */
	public QueryResult query(String command) {
		return influxDB.query(new Query(command, database), TimeUnit.MILLISECONDS);
	}

问题2
influx数据库内明明存放有记录,但是查询结果为null。
经过输出原结果,我猜测问题出现在查询语句上

String queryCondition = " where eid= " + list.get(i);// 查询条件
			String queryCmd = "SELECT time, eid, co2, formaldehyde FROM"
					// 要指定从 RetentionPolicyName.measurement中查询指定数据,默认的策略可以不加;
					// + 策略name + "." + measurement
					+ " composition" // 表名
					// 添加查询条件(注意查询条件选择tag值,选择field数值会严重拖慢查询速度)
					+ queryCondition
					// 查询结果需要按照时间排序
					+ " ORDER BY time DESC"
					// 添加分页查询条件
					+ pageQuery;

又是一番修改,问题出在查询条件的缺少两个单引号。

String queryCondition = " where eid= '" + list.get(i) + "'";// 查询条件
			String queryCmd = "SELECT time, eid, co2, formaldehyde FROM"
					+ " composition"
					+ queryCondition
					+ " ORDER BY time DESC"
					+ pageQuery;

输出原结果

// 开始查询
			QueryResult queryResult = influxDB.query(queryCmd);
			System.out.println(queryResult);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值