From e202626582a5f98ae7942e2f9c95bb7df47d7413 Mon Sep 17 00:00:00 2001 From: zyyang-taosdata Date: Sun, 25 Oct 2020 11:10:28 +0800 Subject: [PATCH] [TD-1643]: springboot demo for rainstation data use tdengine --- tests/examples/JDBC/springbootdemo/pom.xml | 4 +- tests/examples/JDBC/springbootdemo/readme.md | 2 +- .../controller/RainStationController.java | 55 +++++- .../controller/WeatherController.java | 1 - .../springbootdemo/dao/DatabaseMapper.java | 15 -- .../springbootdemo/dao/DatabaseMapper.xml | 44 ----- .../springbootdemo/dao/RainfallMapper.java | 9 - .../springbootdemo/dao/RainfallMapper.xml | 11 -- .../springbootdemo/dao/RainstationMapper.java | 26 +++ .../springbootdemo/dao/RainstationMapper.xml | 71 +++++++ .../jdbc/springbootdemo/dao/TableMapper.java | 8 - .../jdbc/springbootdemo/dao/TableMapper.xml | 21 -- .../springbootdemo/domain/FieldMetadata.java | 28 --- .../jdbc/springbootdemo/domain/Rainfall.java | 20 +- .../springbootdemo/domain/TableMetadata.java | 43 ---- .../springbootdemo/domain/TagMetadata.java | 27 --- .../service/RainStationService.java | 183 +++++++++++++----- .../src/main/resources/application.properties | 2 +- 18 files changed, 287 insertions(+), 283 deletions(-) delete mode 100644 tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/DatabaseMapper.java delete mode 100644 tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/DatabaseMapper.xml delete mode 100644 tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainfallMapper.java delete mode 100644 tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainfallMapper.xml create mode 100644 tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainstationMapper.java create mode 100644 tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainstationMapper.xml delete mode 100644 tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/TableMapper.java delete mode 100644 tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/TableMapper.xml delete mode 100644 tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/FieldMetadata.java delete mode 100644 tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/TableMetadata.java delete mode 100644 tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/TagMetadata.java diff --git a/tests/examples/JDBC/springbootdemo/pom.xml b/tests/examples/JDBC/springbootdemo/pom.xml index 881ea0d6bf..2c2d69cc6e 100644 --- a/tests/examples/JDBC/springbootdemo/pom.xml +++ b/tests/examples/JDBC/springbootdemo/pom.xml @@ -63,7 +63,7 @@ com.taosdata.jdbc taos-jdbcdriver - 2.0.4 + 2.0.8 @@ -71,8 +71,6 @@ druid-spring-boot-starter 1.1.17 - - diff --git a/tests/examples/JDBC/springbootdemo/readme.md b/tests/examples/JDBC/springbootdemo/readme.md index ac3bb44ef9..bed9ae465a 100644 --- a/tests/examples/JDBC/springbootdemo/readme.md +++ b/tests/examples/JDBC/springbootdemo/readme.md @@ -4,7 +4,7 @@ ```properties # datasource config spring.datasource.driver-class-name=com.taosdata.jdbc.TSDBDriver -spring.datasource.url=jdbc:TAOS://127.0.0.1:6030/log +spring.datasource.url=jdbc:TAOS://192.168.1.59:6030/rainstation spring.datasource.username=root spring.datasource.password=taosdata diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/controller/RainStationController.java b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/controller/RainStationController.java index 844ac21bb8..b11affcf65 100644 --- a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/controller/RainStationController.java +++ b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/controller/RainStationController.java @@ -1,28 +1,67 @@ package com.taosdata.jdbc.springbootdemo.controller; - import com.taosdata.jdbc.springbootdemo.domain.Rainfall; import com.taosdata.jdbc.springbootdemo.service.RainStationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + @RestController @RequestMapping("/rainstation") public class RainStationController { - @Autowired private RainStationService service; + private int keep = 7665; + private int days = 120; + private int blocks = 30; + @GetMapping("/init") - public boolean init() { - service.init(); - service.createTable(); + public boolean init(@RequestParam("stationCount") int stationCount) { + // create database rainstation keep 7665 days 120 blocks 30 + service.createDb(keep, days, blocks); + // create table monitoring(ts timestamp, rainfall float) tags(station_code BINARY(8), station_name NCHAR(10)) + service.createSuperTable(); + // create table s_xxx using monitoring tags("s_xxxx","北京"); + service.createSubTables(stationCount); return true; } - @PostMapping("/insert") - public int insert(@RequestBody Rainfall rainfall){ - return service.insert(rainfall); + @GetMapping("/generate") + public long generate(@RequestParam("stationCount") int stationCount, @RequestParam("timeGap") int timeGap, @RequestParam("batchSize") int batchSize) { + return service.generate(keep, stationCount, timeGap, batchSize); + } + + @GetMapping("/latestHour") + public List latestHour() { + return service.latestHour(); + } + + @GetMapping("/latestDay") + public List latestDay() { + return service.latestDay(); + } + + @GetMapping("/latestWeek") + public List latestWeek() { + return service.latestWeek(); + } + + @GetMapping("/latestMonth") + public List latestMonth() { + return service.latestMonth(); + } + + @GetMapping("/latestYear") + public List latestYear() { + return service.latestYear(); + } + + @DeleteMapping + + public boolean dropDatabase() { + return service.dropDatabase(); } } diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/controller/WeatherController.java b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/controller/WeatherController.java index 56a58fbb4d..cf9ca1cb19 100644 --- a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/controller/WeatherController.java +++ b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/controller/WeatherController.java @@ -57,7 +57,6 @@ public class WeatherController { */ @PostMapping("/batch") public int batchSaveWeather(@RequestBody List weatherList) { - return weatherService.save(weatherList); } diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/DatabaseMapper.java b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/DatabaseMapper.java deleted file mode 100644 index a9266acb30..0000000000 --- a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/DatabaseMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.taosdata.jdbc.springbootdemo.dao; - -import java.util.Map; - -public interface DatabaseMapper { - - int createDatabase(String dbname); - - int dropDatabase(String dbname); - - int creatDatabaseWithParameters(Map map); - - int useDatabase(String dbname); - -} diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/DatabaseMapper.xml b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/DatabaseMapper.xml deleted file mode 100644 index 329f75b582..0000000000 --- a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/DatabaseMapper.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - create database if not exists ${dbname} - - - - DROP database if exists ${dbname} - - - - - CREATE database if not EXISTS ${dbname} - - KEEP ${keep} - - - DAYS ${days} - - - REPLICA ${replica} - - - cache ${cache} - - - blocks ${blocks} - - - minrows ${minrows} - - - maxrows ${maxrows} - - - - - use ${dbname} - - - \ No newline at end of file diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainfallMapper.java b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainfallMapper.java deleted file mode 100644 index f0efbf40ba..0000000000 --- a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainfallMapper.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.taosdata.jdbc.springbootdemo.dao; - -import java.util.Map; - -public interface RainfallMapper { - - - int save(Map map); -} diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainfallMapper.xml b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainfallMapper.xml deleted file mode 100644 index 319b4f3974..0000000000 --- a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainfallMapper.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - INSERT INTO ${table} using ${dbname}.${stable} tags(#{values.station_code}, #{values.station_name}) (ts, name, code, rainfall) values (#{values.ts}, #{values.name}, #{values.code}, #{values.rainfall}) - - - - \ No newline at end of file diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainstationMapper.java b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainstationMapper.java new file mode 100644 index 0000000000..a9e61f2490 --- /dev/null +++ b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainstationMapper.java @@ -0,0 +1,26 @@ +package com.taosdata.jdbc.springbootdemo.dao; + +import com.taosdata.jdbc.springbootdemo.domain.Rainfall; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +public interface RainstationMapper { + + int dropDatabase(String dbname); + + int creatDatabase(Map map); + + int useDatabase(String dbname); + + boolean createSuperTable(String dbname, String stbName); + + boolean createSubTable(String tableName, String stationCode, String stationName); + + int insertOne(Rainfall rainfall); + + int insertMany(@Param("tableName") String tableName, @Param("rainfalls") List rainfallList); + + List findAll(Map condi); +} diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainstationMapper.xml b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainstationMapper.xml new file mode 100644 index 0000000000..7cf438cd4e --- /dev/null +++ b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/RainstationMapper.xml @@ -0,0 +1,71 @@ + + + + + + + DROP database if exists ${dbname} + + + + CREATE database if not EXISTS ${dbname} + + KEEP ${keep} + + + DAYS ${days} + + + REPLICA ${replica} + + + cache ${cache} + + + blocks ${blocks} + + + minrows ${minrows} + + + maxrows ${maxrows} + + + + + use ${dbname} + + + + create table if not exists ${dbname}.${stbName} (ts timestamp, rainfall float) tags(station_code BINARY(8), station_name NCHAR(10)) + + + + create table if not exists rainstation.${tableName} using rainstation.monitoring tags(#{stationCode}, #{stationName}) + + + + drop ${tablename} + + + + INSERT INTO ${station_code} (ts, rainfall) values (#{ts}, #{rainfall}) + + + + insert into ${tableName} (ts, rainfall) values + + ( #{item.ts}, #{item.rainfall} ) + + + + + \ No newline at end of file diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/TableMapper.java b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/TableMapper.java deleted file mode 100644 index 7601bf974c..0000000000 --- a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/TableMapper.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.taosdata.jdbc.springbootdemo.dao; - -import com.taosdata.jdbc.springbootdemo.domain.TableMetadata; - -public interface TableMapper { - - boolean createSTable(TableMetadata tableMetadata); -} \ No newline at end of file diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/TableMapper.xml b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/TableMapper.xml deleted file mode 100644 index 5a272eadb4..0000000000 --- a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/dao/TableMapper.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - create table if not exists ${dbname}.${tablename} - - ${field.name} ${field.type} - - TAGS - - ${tag.name} ${tag.type} - - - - - drop ${tablename} - - - \ No newline at end of file diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/FieldMetadata.java b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/FieldMetadata.java deleted file mode 100644 index 619b5a303d..0000000000 --- a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/FieldMetadata.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.taosdata.jdbc.springbootdemo.domain; - -public class FieldMetadata { - - private String name; - private String type; - - public FieldMetadata(String name, String type) { - this.name = name; - this.type = type; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } -} diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/Rainfall.java b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/Rainfall.java index 93e199d7e6..4c0121aae0 100644 --- a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/Rainfall.java +++ b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/Rainfall.java @@ -6,10 +6,8 @@ import java.sql.Timestamp; public class Rainfall { - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS",timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS", timezone = "GMT+8") private Timestamp ts; - private String name; - private String code; private float rainfall; private String station_code; private String station_name; @@ -22,22 +20,6 @@ public class Rainfall { this.ts = ts; } - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getCode() { - return code; - } - - public void setCode(String code) { - this.code = code; - } - public float getRainfall() { return rainfall; } diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/TableMetadata.java b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/TableMetadata.java deleted file mode 100644 index 74bb434f08..0000000000 --- a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/TableMetadata.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.taosdata.jdbc.springbootdemo.domain; - -import java.util.List; - -public class TableMetadata { - - private String dbname; - private String tablename; - private List fields; - private List tags; - - public String getDbname() { - return dbname; - } - - public void setDbname(String dbname) { - this.dbname = dbname; - } - - public String getTablename() { - return tablename; - } - - public void setTablename(String tablename) { - this.tablename = tablename; - } - - public List getFields() { - return fields; - } - - public void setFields(List fields) { - this.fields = fields; - } - - public List getTags() { - return tags; - } - - public void setTags(List tags) { - this.tags = tags; - } -} diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/TagMetadata.java b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/TagMetadata.java deleted file mode 100644 index 755ecc0075..0000000000 --- a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/domain/TagMetadata.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.taosdata.jdbc.springbootdemo.domain; - -public class TagMetadata { - private String name; - private String type; - - public TagMetadata(String name, String type) { - this.name = name; - this.type = type; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } -} diff --git a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/service/RainStationService.java b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/service/RainStationService.java index 3ea63c1760..d856301d11 100644 --- a/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/service/RainStationService.java +++ b/tests/examples/JDBC/springbootdemo/src/main/java/com/taosdata/jdbc/springbootdemo/service/RainStationService.java @@ -1,72 +1,167 @@ package com.taosdata.jdbc.springbootdemo.service; -import com.taosdata.jdbc.springbootdemo.dao.DatabaseMapper; -import com.taosdata.jdbc.springbootdemo.dao.RainfallMapper; -import com.taosdata.jdbc.springbootdemo.dao.TableMapper; -import com.taosdata.jdbc.springbootdemo.domain.FieldMetadata; +import com.taosdata.jdbc.springbootdemo.dao.RainstationMapper; import com.taosdata.jdbc.springbootdemo.domain.Rainfall; -import com.taosdata.jdbc.springbootdemo.domain.TableMetadata; -import com.taosdata.jdbc.springbootdemo.domain.TagMetadata; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.sql.Timestamp; +import java.time.Duration; +import java.time.Instant; +import java.util.*; @Service public class RainStationService { @Autowired - private DatabaseMapper databaseMapper; - @Autowired - private TableMapper tableMapper; - @Autowired - private RainfallMapper rainfallMapper; + private RainstationMapper rainstationMapper; - public boolean init() { - databaseMapper.dropDatabase("rainstation"); + private Random random = new Random(System.currentTimeMillis()); + private String[] stationNames = {"北京", "上海", "深圳", "广州", "杭州", "苏州", "成都", "西安", "天津", "厦门", "福州"}; + + public boolean createDb(int keep, int days, int blocks) { + rainstationMapper.dropDatabase("rainstation"); Map map = new HashMap<>(); map.put("dbname", "rainstation"); - map.put("keep", "36500"); - map.put("days", "30"); - map.put("blocks", "4"); - databaseMapper.creatDatabaseWithParameters(map); + map.put("keep", "" + keep); + map.put("days", "" + days); + map.put("blocks", "" + blocks); + rainstationMapper.creatDatabase(map); + rainstationMapper.useDatabase("rainstation"); + return true; + } - databaseMapper.useDatabase("rainstation"); + public boolean createSuperTable() { + try { + rainstationMapper.createSuperTable("rainstation", "monitoring"); + } catch (Exception e) { + e.printStackTrace(); + return false; + } return true; } - public boolean createTable() { - TableMetadata tableMetadata = new TableMetadata(); - tableMetadata.setDbname("rainstation"); - tableMetadata.setTablename("monitoring"); + // create table s_xxx using monitoring tags("s_xxxx","北京"); + public void createSubTables(int stationCount) { + for (int i = 0; i < stationCount; i++) { + rainstationMapper.createSubTable("s_" + i, "s_" + i, stationNames[random.nextInt(stationNames.length)]); + } + } - List fields = new ArrayList<>(); - fields.add(new FieldMetadata("ts", "timestamp")); - fields.add(new FieldMetadata("name", "NCHAR(10)")); - fields.add(new FieldMetadata("code", " BINARY(8)")); - fields.add(new FieldMetadata("rainfall", "float")); - tableMetadata.setFields(fields); + public boolean dropDatabase() { + try { + rainstationMapper.dropDatabase("rainstation"); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } - List tags = new ArrayList<>(); - tags.add(new TagMetadata("station_code", "BINARY(8)")); - tags.add(new TagMetadata("station_name", "NCHAR(10)")); - tableMetadata.setTags(tags); + public long generate(int keep, int stationCount, long timeGapSec, int batchSize) { + rainstationMapper.useDatabase("rainstation"); + Instant end = Instant.now(); + Instant start = end.minus(Duration.ofDays(keep - 1)); + final long timeGap = 1000l * timeGapSec; - tableMapper.createSTable(tableMetadata); - return true; + if (stationCount < 1000) { + return insert(start.toEpochMilli(), end.toEpochMilli(), timeGap, stationCount); + } else { + return batchInsert(start.toEpochMilli(), end.toEpochMilli(), timeGap, batchSize, stationCount); + } + } + + private long insert(long startTime, long endTime, long timeGap, int tableSize) { + long count = 0; + for (long ts = startTime; ts < endTime; ts += timeGap) { + for (int i = 0; i < tableSize; i++) { + Rainfall rainfall = new Rainfall(); + rainfall.setTs(new Timestamp(ts)); + rainfall.setRainfall(random.nextFloat() * 999); + rainfall.setStation_code("s_" + i); + count += rainstationMapper.insertOne(rainfall); + } + } + return count; } + public long batchInsert(long startTime, long endTime, long timeGap, int batchSize, int tableSize) { + long count = 0; +// for (long ts = startTime; ts < endTime; ts += (timeGap * batchSize)) { +// for (int i = 0; i < tableSize; i++) { +// List rainfallList = new ArrayList<>(batchSize); +// for (int j = 0; j < batchSize && (ts + j * timeGap) < endTime; j++) { +// Rainfall rainfall = new Rainfall(); +// rainfall.setTs(new Timestamp(ts + (j * timeGap))); +// rainfall.setRainfall(random.nextFloat() * 999); +// rainfallList.add(rainfall); +// } +// count += rainstationMapper.insertMany("s_" + i, rainfallList); +// } +// } + + /***********************************/ + for (int i = 0; i < tableSize; i++) { + for (long ts = startTime; ts < endTime; ts += (timeGap * batchSize)) { + List rainfallList = new ArrayList<>(batchSize); + for (int j = 0; j < batchSize && (ts + j * timeGap) < endTime; j++) { + Rainfall rainfall = new Rainfall(); + rainfall.setTs(new Timestamp(ts + (j * timeGap))); + rainfall.setRainfall(random.nextFloat() * 999); + rainfallList.add(rainfall); + } + count += rainstationMapper.insertMany("s_" + i, rainfallList); + } + } - public int insert(Rainfall rainfall) { + return count; + } + + public List latestHour() { + Instant end = Instant.now(); + Instant start = end.minus(Duration.ofHours(1)); Map map = new HashMap<>(); - map.put("dbname", "rainstation"); - map.put("table", "S_53646"); - map.put("stable", "monitoring"); - map.put("values", rainfall); - return rainfallMapper.save(map); + map.put("startTime", start.toEpochMilli()); + map.put("endTime", end.toEpochMilli()); + return rainstationMapper.findAll(map); } + + public List latestDay() { + Instant end = Instant.now(); + Instant start = end.minus(Duration.ofDays(1)); + Map map = new HashMap<>(); + map.put("startTime", start.toEpochMilli()); + map.put("endTime", end.toEpochMilli()); + return rainstationMapper.findAll(map); + } + + public List latestWeek() { + Instant end = Instant.now(); + Instant start = end.minus(Duration.ofDays(7)); + Map map = new HashMap<>(); + map.put("startTime", start.toEpochMilli()); + map.put("endTime", end.toEpochMilli()); + return rainstationMapper.findAll(map); + } + + public List latestMonth() { + Instant end = Instant.now(); + Instant start = end.minus(Duration.ofDays(30)); + Map map = new HashMap<>(); + map.put("startTime", start.toEpochMilli()); + map.put("endTime", end.toEpochMilli()); + return rainstationMapper.findAll(map); + } + + public List latestYear() { + Instant end = Instant.now(); + Instant start = end.minus(Duration.ofDays(365)); + Map map = new HashMap<>(); + map.put("startTime", start.toEpochMilli()); + map.put("endTime", end.toEpochMilli()); + return rainstationMapper.findAll(map); + } + + } \ No newline at end of file diff --git a/tests/examples/JDBC/springbootdemo/src/main/resources/application.properties b/tests/examples/JDBC/springbootdemo/src/main/resources/application.properties index 683884fcdd..cf06ab5395 100644 --- a/tests/examples/JDBC/springbootdemo/src/main/resources/application.properties +++ b/tests/examples/JDBC/springbootdemo/src/main/resources/application.properties @@ -1,6 +1,6 @@ # datasource config spring.datasource.driver-class-name=com.taosdata.jdbc.TSDBDriver -spring.datasource.url=jdbc:TAOS://localhost:6030/log +spring.datasource.url=jdbc:TAOS://192.168.1.59:6030/?&charset=UTF-8 spring.datasource.username=root spring.datasource.password=taosdata -- GitLab