| component/component-Influxdb/pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| component/component-Influxdb/src/main/java/com/zy/influxdb/config/InfluxDBAutoConfiguration.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| component/component-Influxdb/src/main/java/com/zy/influxdb/service/InfluxDBService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| component/component-Influxdb/target/classes/com/zy/influxdb/base/BaseTemperature.class | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| component/component-Influxdb/target/classes/com/zy/influxdb/service/InfluxDBService.class | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| zy-acs-hex/pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| zy-acs-hex/src/main/java/com/zy/Main.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
component/component-Influxdb/pom.xml
@@ -17,14 +17,14 @@ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <!-- Dependency Versions --> <influxdb-java.version>6.6.0</influxdb-java.version> <influxdb-java.version>1.7.0</influxdb-java.version> <lombok.version>1.18.20</lombok.version> </properties> <dependencies> <dependency> <groupId>com.influxdb</groupId> <artifactId>influxdb-client-java</artifactId> <artifactId>influxdb3-java</artifactId> <version>${influxdb-java.version}</version> </dependency> <dependency> component/component-Influxdb/src/main/java/com/zy/influxdb/config/InfluxDBAutoConfiguration.java
@@ -1,7 +1,6 @@ package com.zy.influxdb.config; import com.influxdb.client.InfluxDBClient; import com.influxdb.client.InfluxDBClientFactory; import com.influxdb.v3.client.InfluxDBClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -19,6 +18,6 @@ @Bean(destroyMethod = "close") public InfluxDBClient influxDBClient(InfluxDBProperties influxDBProperties) throws Exception{ return InfluxDBClientFactory.create(influxDBProperties.getUrl(), influxDBProperties.getToken().toCharArray(), influxDBProperties.getDatabase()); return InfluxDBClient.getInstance(influxDBProperties.getUrl(), influxDBProperties.getToken().toCharArray(), influxDBProperties.getDatabase()); } } component/component-Influxdb/src/main/java/com/zy/influxdb/service/InfluxDBService.java
@@ -1,12 +1,9 @@ package com.zy.influxdb.service; import com.influxdb.annotations.Column; import com.influxdb.annotations.Measurement; import com.influxdb.client.InfluxDBClient; import com.influxdb.client.WriteApiBlocking; import com.influxdb.client.domain.WritePrecision; import com.influxdb.client.write.Point; import com.influxdb.query.FluxTable; import com.influxdb.v3.client.InfluxDBClient; import com.influxdb.v3.client.Point; import com.influxdb.v3.client.write.WritePrecision; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -21,85 +18,62 @@ @Service public class InfluxDBService { public class InfluxDBService { private static final Logger logger = LoggerFactory.getLogger(InfluxDBService.class); @Autowired private InfluxDBClient influxDBClient; // 构造函数注入客户端 /** * 写入数据 * * @param measurement 表名 * @param tags 标签 * @param fields 字段 * @param tags 标签 * @param fields 字段 */ public void writeData(String measurement, Map<String,String> tags,Map<String,Object> fields) { WriteApiBlocking writeApiBlocking = influxDBClient.getWriteApiBlocking(); public void writeData(String measurement, Map<String, String> tags, Map<String, Object> fields) { Point point = Point.measurement(measurement) .addTags(tags) .addFields(fields) .time(Instant.now().toEpochMilli(), WritePrecision.MS); .setTags(tags) .setFields(fields) .setTimestamp(Instant.now().toEpochMilli(), WritePrecision.MS); try { writeApiBlocking.writePoint(point); influxDBClient.writePoint(point); System.out.println("Data written to the database."); } catch (Exception e) { System.err.println("Failed to write data to the database."); } catch (Exception e) { logger.error("Failed to write data to the database."); e.printStackTrace(); } } /** * 查询数据 * * @param sql sql语句 * @return 查询结果列表 */ public List<FluxTable> queryData(String sql) { public List<Map<String, Object>> queryData(String sql) { try { // 执行查询 return influxDBClient.getQueryApi().query(sql); Stream<Object[]> query = influxDBClient.query(sql); // 转换为 Map 列表(便于后续处理) List<Map<String, Object>> collect = query.map(record -> { Map<String, Object> map = new LinkedHashMap<>(); for (int i = 0; i < record.length; i += 2) { map.put((String) record[i], record[i + 1]); } return map; }) .collect(Collectors.toList()); return collect; } catch (Exception e) { System.err.println("Failed to query data from the database."); logger.error("Failed to query data from the database."); e.printStackTrace(); } return null; } /** * 查询数据 * @param sql sql语句 * @return 查询结果列表 */ public <T> List<T> queryData(String sql,T t) { try { // 执行查询 List<T> temperatures = influxDBClient.getQueryApi().q(sql, t.getClass()); } catch (Exception e) { System.err.println("Failed to query data from the database."); e.printStackTrace(); } return null; } //POJO类定义如下: @Measurement(name = "temperature")//表名 public static class Temperature { @Column(tag = true)//tag String location; @Column//field Double value; @Column(timestamp = true)//timestamp Instant time; } } component/component-Influxdb/target/classes/com/zy/influxdb/base/BaseTemperature.classBinary files differ
component/component-Influxdb/target/classes/com/zy/influxdb/service/InfluxDBService.classBinary files differ
pom.xml
@@ -25,6 +25,7 @@ <module>zy-acs-fake</module> <module>zy-acs-cv</module> <module>component</module> <module>zy-acs-hex</module> </modules> <properties> zy-acs-hex/pom.xml
New file @@ -0,0 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.zy</groupId> <artifactId>acs</artifactId> <version>1.0.0</version> </parent> <artifactId>zy-acs-hex</artifactId> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> </project> zy-acs-hex/src/main/java/com/zy/Main.java
New file @@ -0,0 +1,17 @@ package com.zy; //TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or // click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter. public class Main { public static void main(String[] args) { //TIP Press <shortcut actionId="ShowIntentionActions"/> with your caret at the highlighted text // to see how IntelliJ IDEA suggests fixing it. System.out.printf("Hello and welcome!"); for (int i = 1; i <= 5; i++) { //TIP Press <shortcut actionId="Debug"/> to start debugging your code. We have set one <icon src="AllIcons.Debugger.Db_set_breakpoint"/> breakpoint // for you, but you can always add more by pressing <shortcut actionId="ToggleLineBreakpoint"/>. System.out.println("i = " + i); } } }