diff --git a/tests/examples/JDBC/springbootdemo/pom.xml b/tests/examples/JDBC/springbootdemo/pom.xml index 881ea0d6bf485891a29427853bd1bbf9b294c2d8..2c2d69cc6eebac9234c29d7aa80de2db212cd494 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 ac3bb44ef95c251e25c664cd50414494e19f6820..bed9ae465aee97ac20ef69bfcb2b1867dc5cca3a 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 844ac21bb8855de06edcc586deb713bcad686385..b11affcf65d1f22e25c4c7fc61cdb3d1c55820a2 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 56a58fbb4d9a783a34989eae00369ff7b307acaf..cf9ca1cb19ae4eb09fc1efc0b00112fdba3840e2 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 a9266acb3028c453062ce6e56ccade53c405f742..0000000000000000000000000000000000000000 --- 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 329f75b582a276bed522e671d0c9f868b837c172..0000000000000000000000000000000000000000 --- 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 f0efbf40ba477d9b8f410e0806be38701d274394..0000000000000000000000000000000000000000 --- 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 319b4f397434f1b7623c31250c8ba798c0499d86..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..a9e61f2490979416a9f855875afccc4ed98408e5 --- /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 0000000000000000000000000000000000000000..7cf438cd4e1655757897e9d76a4fb3bddc000a0d --- /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 7601bf974c7c727b2a46171b145bdcec662dc258..0000000000000000000000000000000000000000 --- 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 5a272eadb4abd7637735a834ec445c822073486f..0000000000000000000000000000000000000000 --- 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 619b5a303d715132d6a428770a27d069a9b9dcaa..0000000000000000000000000000000000000000 --- 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 93e199d7e66582e7f8d771994b358a2c58f5dae2..4c0121aae0b7a639d9e748407db4cc93d549d858 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 74bb434f08484af6c244dd884570c974ab93e634..0000000000000000000000000000000000000000 --- 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 755ecc0075506c4ba2c99eafa47593a69a50bd84..0000000000000000000000000000000000000000 --- 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 3ea63c1760d4aef9e11a076eaff0c19df3a3a73c..d856301d117c516c88456cf2dab54d8d2362aa33 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 683884fcdd852fd1a72c685b40c6a8517ed92ff4..cf06ab5395220c27767d20aefd9939ef5c5681b2 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