From 2629eb914f1519e9a1a81ef19ce92ac746c936ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81=E6=BC=8F=E6=B4=9E?=
=?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AE=8C=E6=88=90?= <>
Date: Sat, 20 Sep 2025 02:17:28 +0800
Subject: [PATCH] db change
---
.idea/workspace.xml | 14 ++-
pom.xml | 22 +++++
.../AdminClientTemperatureApplication.java | 13 ++-
.../mqttclienttemperature/MqttRSAClient.java | 5 +-
.../dao/TemperatureOracleRepository.java | 86 +++++++++++++++++++
.../entity/TemperatureOracle.java | 70 +++++++++++++++
.../service/JdbcTemperatureService.java | 11 +++
.../service/ScheduledService.java | 11 +++
.../service/TemperatureService.java | 1 +
.../impl/JdbcTemperatureServiceImpl.java | 84 ++++++++++++++++++
.../service/impl/TemperatureServiceImpl.java | 44 +++++++++-
src/main/resources/application.yml | 57 ++++++------
12 files changed, 384 insertions(+), 34 deletions(-)
create mode 100644 src/main/java/com/rehome/mqttclienttemperature/dao/TemperatureOracleRepository.java
create mode 100644 src/main/java/com/rehome/mqttclienttemperature/entity/TemperatureOracle.java
create mode 100644 src/main/java/com/rehome/mqttclienttemperature/service/JdbcTemperatureService.java
create mode 100644 src/main/java/com/rehome/mqttclienttemperature/service/impl/JdbcTemperatureServiceImpl.java
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 8b6fa26..0bfd5e5 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,10 +5,17 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -188,6 +195,7 @@
+
diff --git a/pom.xml b/pom.xml
index 13c416a..f361662 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,6 +36,28 @@
mysql-connector-java
runtime
+
+
+ org.postgresql
+ postgresql
+ runtime
+
+
+
+ com.kingbase8
+ kingbase8
+ 8.6.0
+
+
+ cn.com.kingbase
+ KesDialect-for-hibernate4
+ 1.0.0
+
+
+ com.baomidou
+ dynamic-datasource-spring-boot-starter
+ 3.1.0
+
com.alibaba
diff --git a/src/main/java/com/rehome/mqttclienttemperature/AdminClientTemperatureApplication.java b/src/main/java/com/rehome/mqttclienttemperature/AdminClientTemperatureApplication.java
index ab6b4c2..e367682 100644
--- a/src/main/java/com/rehome/mqttclienttemperature/AdminClientTemperatureApplication.java
+++ b/src/main/java/com/rehome/mqttclienttemperature/AdminClientTemperatureApplication.java
@@ -1,6 +1,7 @@
package com.rehome.mqttclienttemperature;
+import com.rehome.mqttclienttemperature.service.JdbcTemperatureService;
import com.rehome.mqttclienttemperature.service.TemperatureService;
import org.springframework.beans.BeansException;
import org.springframework.boot.CommandLineRunner;
@@ -14,6 +15,7 @@ import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.web.bind.annotation.RequestMapping;
+
import javax.annotation.Resource;
import java.util.Map;
@@ -29,10 +31,12 @@ public class AdminClientTemperatureApplication implements CommandLineRunner, App
*/
private ApplicationContext applicationContext;
/**
- 后台接口自动导入
+ * 后台接口自动导入
*/
@Resource
private TemperatureService temperatureService;
+ @Resource
+ private JdbcTemperatureService jdbcTemperatureService;
public static void main(String[] args) {
SpringApplication.run(AdminClientTemperatureApplication.class, args);
@@ -40,6 +44,7 @@ public class AdminClientTemperatureApplication implements CommandLineRunner, App
/**
* 调用 applicationContext(不能在main中使用,main是static的,不能调用)
+ *
* @param args
*/
@Override
@@ -51,12 +56,12 @@ public class AdminClientTemperatureApplication implements CommandLineRunner, App
System.out.println(entry.getKey());//demo1Controller
}
try {
- if (temperatureService != null) {
+ if (temperatureService != null && jdbcTemperatureService != null) {
System.out.println("------------------------");
System.out.println("TemperatureController is not empty");
MqttRSAClient client = new MqttRSAClient();
- client.start(temperatureService);
- }else {
+ client.start(temperatureService, jdbcTemperatureService);
+ } else {
System.out.println("temperatureService is empty");
}
} catch (Exception ex) {
diff --git a/src/main/java/com/rehome/mqttclienttemperature/MqttRSAClient.java b/src/main/java/com/rehome/mqttclienttemperature/MqttRSAClient.java
index 6318f9d..d67ee17 100644
--- a/src/main/java/com/rehome/mqttclienttemperature/MqttRSAClient.java
+++ b/src/main/java/com/rehome/mqttclienttemperature/MqttRSAClient.java
@@ -1,6 +1,7 @@
package com.rehome.mqttclienttemperature;
+import com.rehome.mqttclienttemperature.service.JdbcTemperatureService;
import com.rehome.mqttclienttemperature.service.TemperatureService;
import com.rehome.mqttclienttemperature.utils.MqttSSLSocketFactory;
import com.rehome.mqttclienttemperature.utils.UUIDUtil;
@@ -82,7 +83,7 @@ public class MqttRSAClient {
e.printStackTrace();
}
}
- public void start(TemperatureService temperatureService) {
+ public void start(TemperatureService temperatureService, JdbcTemperatureService jdbcTemperatureService) {
try {
// 连接
mqttClient.connect(options);
@@ -108,6 +109,8 @@ public class MqttRSAClient {
System.out.println("Qos:"+mqttMessage.getQos());
System.out.println("message RSA:"+strData);
temperatureService.saveTemperature(strData,s);
+ temperatureService.saveTemperatureBySqlServer(strData,s);
+ //jdbcTemperatureService.saveTemperatureByOracle(strData,s);
}
@Override
diff --git a/src/main/java/com/rehome/mqttclienttemperature/dao/TemperatureOracleRepository.java b/src/main/java/com/rehome/mqttclienttemperature/dao/TemperatureOracleRepository.java
new file mode 100644
index 0000000..71582c7
--- /dev/null
+++ b/src/main/java/com/rehome/mqttclienttemperature/dao/TemperatureOracleRepository.java
@@ -0,0 +1,86 @@
+package com.rehome.mqttclienttemperature.dao;
+
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.rehome.mqttclienttemperature.entity.Temperature;
+import com.rehome.mqttclienttemperature.entity.TemperatureOracle;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import java.util.List;
+
+
+/**
+ * 参数一 T :当前需要映射的实体
+ * 参数二 ID :当前映射的实体中的OID的类型
+ *
+ */
+
+public interface TemperatureOracleRepository extends JpaRepository {
+
+
+
+// 五、分页查询
+//
+// Page findALL(Pageable pageable);
+// Page findByUserName(String userName,Pageable pageable);
+//
+// 在查询的方法中,需要传入参数Pageable ,
+// 当查询中有多个参数的时候Pageable建议做为最后一个参数传入 。
+// Pageable 是 Spring 封装的分页实现类,使用的时候需要传入页数、每页条数和排序规则。
+//
+// int page=1,size=10;
+// Sort sort = new Sort(Direction.DESC, "id");
+// Pageable pageable = new PageRequest(page, size, sort);
+// userRepository.findALL(pageable);
+// userRepository.findByUserName("testName", pageable);
+//
+//
+// 六、限制查询
+//
+// 查询前 N 个元素
+//
+// User findFirstByOrderByLastnameAsc();
+// User findTopByOrderByAgeDesc();
+// Page queryFirst10ByLastname(String lastname, Pageable pageable);
+// List findFirst10ByLastname(String lastname, Sort sort);
+// List findTop10ByLastname(String lastname, Pageable pageable);
+//
+
+
+
+// 使用Spring JPA中Page、Pageable接口和Sort类完成分页排序【专题】
+//
+// 首先来说一下分页和排序所用到的Page、Pageable接口和Sort类都是什么
+//
+// JpaRepository提供了两个和分页和排序有关的查询
+//
+// List findAll(Sort sort) 返回所有实体,按照指定顺序排序返回
+//
+// List findAll(Pageable pageable) 返回实体列表,实体的offest和limit通过pageable来指定
+//
+// Sort对象用来指示排序,最简单的Sort对象构造可以传入一个属性名列表(不是数据库列名,是属性名),默认采用升序排序。例:
+//
+// Sort sort = new Sort("id");
+// //或 Sort sort = new Sort(Direction.ASC,"id");
+// return userDao.findAll(sort);
+// 程序将查询所有user并按照id进行生序排序。Sort还包括其他一些构造方法,在这里就不一一赘述。
+//
+// Pageable接口用于构造翻页查询,PageRequest是其实现类,可以通过提供的工厂方法创建PageRequest:
+//
+// public static PageRequest of(int page, int size)
+// 也可以在PageRequest中加入排序:
+//
+// public static PageRequest of(int page, int size, Sort sort)
+// 方法中的参数,page总是从0开始,表示查询页,size指每页的期望行数。
+//
+// Page接口可以获得当前页面的记录、总页数、总记录数、是否有上一页或下一页等。Spring Data翻页查询总是返回Page对象,Page对象提供了以下常用的方法:
+//
+// int getTotalPages() 总的页数
+// long getTotalElements() 返回总数
+// List getContent() 返回此次查询的结果集
+// ————————————————
+
+}
diff --git a/src/main/java/com/rehome/mqttclienttemperature/entity/TemperatureOracle.java b/src/main/java/com/rehome/mqttclienttemperature/entity/TemperatureOracle.java
new file mode 100644
index 0000000..77a185e
--- /dev/null
+++ b/src/main/java/com/rehome/mqttclienttemperature/entity/TemperatureOracle.java
@@ -0,0 +1,70 @@
+package com.rehome.mqttclienttemperature.entity;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.hibernate.annotations.Proxy;
+import org.springframework.data.annotation.CreatedDate;
+import org.springframework.data.jpa.domain.support.AuditingEntityListener;
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.Date;
+
+@Proxy(lazy = false)
+@Data
+@Entity
+//普通索引,不指定索引名,表自动创建索引名
+//@Table(indexes = {@Index(columnList = "dataDate"),@Index(columnList = "locationDesc")})
+//普通索引,指定索引名,创建单个索引
+//在这个例子中,Temperature实体类通过@Table注解的indexes属性定义了一个名为idx_dataDate的索引,它覆盖了dataDate字段。这意味着在数据库层面,针对dataDate字段的查询将会利用这个索引,从而提高查询效率。
+//@Table(indexes = {@Index(name = "idx_dataDate", columnList = "dataDate")})
+//同时创建多个普通索引,注意每个索引名都不同
+//@Table(indexes = {@Index(name = "idx_dataDate", columnList = "dataDate"),@Index(name = "idx_locationDesc", columnList = "locationDesc")})
+//@Table(indexes = {@Index(name = "idx_dataDate", columnList = "dataDate"),@Index(name = "idx_locationDesc", columnList = "locationDesc"),@Index(name = "idx_dataHour", columnList = "dataHour"),@Index(name = "idx_dataMinute", columnList = "dataMinute")})
+//创建组合索引,注意每个索引名都相同
+//@Table(indexes = {@Index(name = "data_date_location_desc", columnList = "dataDate"),@Index(name = "data_date_location_desc", columnList = "locationDesc")})
+//同时创建普通索引和组合索引,注意普通索引每个索引名都不同,注意组合索引每个索引名都相同
+@DS("oracle")
+@Table(name = "temperature",indexes = {@Index(name = "idx_dataDate", columnList = "dataDate"),@Index(name = "idx_locationDesc", columnList = "locationDesc"),@Index(name = "idx_dataHour", columnList = "dataHour"),@Index(name = "idx_dataMinute", columnList = "dataMinute"),@Index(name = "data_date_location_desc", columnList = "dataDate"),@Index(name = "data_date_location_desc", columnList = "locationDesc")})
+public class TemperatureOracle implements Serializable {
+
+ @Id
+ @ApiModelProperty(value = "主键")
+ @GeneratedValue(strategy = GenerationType.SEQUENCE,generator="temperature_seq")
+ @SequenceGenerator(name="temperature_seq", sequenceName="temperature_seq_appserver",initialValue = 1,allocationSize = 1)
+ private Long id;
+
+ @ApiModelProperty(value = "温度")
+ @Column(length=10)
+ private String temperature;
+
+ @ApiModelProperty(value = "湿度")
+ @Column(length=10)
+ private String humidity;
+
+ @ApiModelProperty(value = "日期")
+ @Column(length=20)
+ private String dataDate;
+
+ @ApiModelProperty(value = "时")
+ @Column(length=20)
+ private String dataHour;
+
+ @ApiModelProperty(value = "分")
+ @Column(length=20)
+ private String dataMinute;
+
+ @ApiModelProperty(value = "主题")
+ @Column(length=60)
+ private String topic;
+
+ @ApiModelProperty(value = "位置描述")
+ @Column(length=80)
+ private String locationDesc;
+
+ //@CreatedDate
+ @ApiModelProperty(value = "创建时间")
+ @Temporal(TemporalType.TIMESTAMP)
+ private Date createDate;
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/rehome/mqttclienttemperature/service/JdbcTemperatureService.java b/src/main/java/com/rehome/mqttclienttemperature/service/JdbcTemperatureService.java
new file mode 100644
index 0000000..b006fac
--- /dev/null
+++ b/src/main/java/com/rehome/mqttclienttemperature/service/JdbcTemperatureService.java
@@ -0,0 +1,11 @@
+package com.rehome.mqttclienttemperature.service;
+
+import com.rehome.mqttclienttemperature.entity.Temperature;
+import com.rehome.mqttclienttemperature.entity.TemperatureOracle;
+
+import java.util.List;
+
+public interface JdbcTemperatureService {
+ void saveTemperatureByOracle(String temperatureAndHumidityData,String topic);
+ List selectAll();
+}
diff --git a/src/main/java/com/rehome/mqttclienttemperature/service/ScheduledService.java b/src/main/java/com/rehome/mqttclienttemperature/service/ScheduledService.java
index d40571d..3e34a96 100644
--- a/src/main/java/com/rehome/mqttclienttemperature/service/ScheduledService.java
+++ b/src/main/java/com/rehome/mqttclienttemperature/service/ScheduledService.java
@@ -5,10 +5,13 @@ package com.rehome.mqttclienttemperature.service;
import com.google.gson.Gson;
import com.rehome.mqttclienttemperature.controller.JdbcDemoController;
import com.rehome.mqttclienttemperature.dto.ResponseDto;
+import com.rehome.mqttclienttemperature.entity.Temperature;
+import com.rehome.mqttclienttemperature.entity.TemperatureOracle;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
+import java.util.List;
/**
@@ -22,6 +25,8 @@ public class ScheduledService {
@Resource
private JdbcDemoController jdbcDemoController;
+ @Resource
+ private JdbcTemperatureService jdbcTemperatureService;
/**
* @date 2022-03-16 09:41
@@ -34,5 +39,11 @@ public class ScheduledService {
ResponseDto responseDto = jdbcDemoController.queryList();
//System.out.println(new Gson().toJson(responseDto));
}
+ @Scheduled(cron = "0/5 * * * * *")
+ public void getNow() {
+ System.out.println("-------getNow---------");
+ List list =jdbcTemperatureService.selectAll();
+ System.out.println(new Gson().toJson(list));
+ }
}
\ No newline at end of file
diff --git a/src/main/java/com/rehome/mqttclienttemperature/service/TemperatureService.java b/src/main/java/com/rehome/mqttclienttemperature/service/TemperatureService.java
index fdb5fc3..f514e8b 100644
--- a/src/main/java/com/rehome/mqttclienttemperature/service/TemperatureService.java
+++ b/src/main/java/com/rehome/mqttclienttemperature/service/TemperatureService.java
@@ -9,6 +9,7 @@ public interface TemperatureService {
//温度和湿度
void saveTemperature(String temperatureAndHumidityData,String topic);
void saveTemperature(Temperature temperature);
+ void saveTemperatureBySqlServer(String temperatureAndHumidityData,String topic);
List findFirst10ByDataDateAndLocationDesc(String dataDate, String locationDesc);
List findFirst10ByLocationDesc(String locationDesc);
Temperature findFirstByOrderByLocationDescAsc(String locationDesc);
diff --git a/src/main/java/com/rehome/mqttclienttemperature/service/impl/JdbcTemperatureServiceImpl.java b/src/main/java/com/rehome/mqttclienttemperature/service/impl/JdbcTemperatureServiceImpl.java
new file mode 100644
index 0000000..25920ca
--- /dev/null
+++ b/src/main/java/com/rehome/mqttclienttemperature/service/impl/JdbcTemperatureServiceImpl.java
@@ -0,0 +1,84 @@
+package com.rehome.mqttclienttemperature.service.impl;
+
+import cn.hutool.db.sql.Direction;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.rehome.mqttclienttemperature.dao.TemperatureOracleRepository;
+import com.rehome.mqttclienttemperature.entity.Temperature;
+import com.rehome.mqttclienttemperature.entity.TemperatureOracle;
+import com.rehome.mqttclienttemperature.service.JdbcTemperatureService;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+@Service
+@DS("oracle")
+public class JdbcTemperatureServiceImpl implements JdbcTemperatureService {
+ @Resource
+ private JdbcTemplate jdbcTemplate;
+ @Resource
+ private TemperatureOracleRepository temperatureOracleRepository;
+
+
+ @Override
+ public void saveTemperatureByOracle(String temperatureAndHumidityData, String topic) {
+ if(temperatureAndHumidityData!=null&&temperatureAndHumidityData.length()>0){
+ String[] strDataTemperature = temperatureAndHumidityData.split(" ");
+ Date now = new Date();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat sdfHour = new SimpleDateFormat("yyyy-MM-dd HH");
+ SimpleDateFormat sdfMinute = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ SimpleDateFormat sdfSecond = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+ String nowDate = sdf.format(now);
+ String nowHour = sdfHour.format(now);
+ String dataMinute = sdfMinute.format(now);
+ String dataSecond = sdfSecond.format(now);
+ TemperatureOracle temperature = new TemperatureOracle();
+ temperature.setCreateDate(now);
+ temperature.setDataDate(nowDate);
+ temperature.setDataHour(nowHour);
+ temperature.setDataMinute(dataMinute);
+ if(topic!=null){
+ temperature.setTopic(topic);
+ if(topic.equals("WifiSHT/7C87CE9CA4E6/SHT20")){
+ temperature.setLocationDesc("广东省珠海市高新区唐家湾镇东岸村水风三街28号501");
+ }
+ if(topic.equals("WifiSHT/7C87CE9F5CBF/SHT20")){
+ temperature.setLocationDesc("广东省珠海市金湾区三灶镇百川路1号1栋1单元1508房");
+ }
+ if(topic.equals("WifiSHT/4CEBD686B6AA/SHT20")){
+ temperature.setLocationDesc("广西壮族自治区崇左市天等县天等镇荣华村弄在屯113号");
+ }
+ }
+ temperature.setHumidity(strDataTemperature[0]);
+ temperature.setTemperature(strDataTemperature[1]);
+
+ this.temperatureOracleRepository.save(temperature);
+ }
+ }
+
+ @Override
+ public List selectAll() {
+// Sort sort = Sort.by(Sort.Direction.DESC,"id");
+// PageRequest pagerequest = PageRequest.of(0,10,sort);
+// List page = temperatureOracleRepository.findAll(pagerequest).getContent();
+// return page;
+
+// int page=1,size=10;
+// Sort sort = new Sort(Direction.DESC, "id");
+// Pageable pageable = new PageRequest(page, size, sort);
+// temperatureOracleRepository.findALL(pageable);
+// userRepository.findByUserName("testName", pageable);
+
+
+ return jdbcTemplate.queryForList("SELECT * FROM (SELECT * FROM temperature ORDER BY id DESC) WHERE ROWNUM <= 10");
+ }
+}
diff --git a/src/main/java/com/rehome/mqttclienttemperature/service/impl/TemperatureServiceImpl.java b/src/main/java/com/rehome/mqttclienttemperature/service/impl/TemperatureServiceImpl.java
index 6e44f1b..7f7b969 100644
--- a/src/main/java/com/rehome/mqttclienttemperature/service/impl/TemperatureServiceImpl.java
+++ b/src/main/java/com/rehome/mqttclienttemperature/service/impl/TemperatureServiceImpl.java
@@ -1,5 +1,6 @@
package com.rehome.mqttclienttemperature.service.impl;
+import com.baomidou.dynamic.datasource.annotation.DS;
import com.google.gson.Gson;
import com.rehome.mqttclienttemperature.dao.TemperatureRepository;
import com.rehome.mqttclienttemperature.dto.ResponseDto;
@@ -24,6 +25,9 @@ import java.util.Optional;
@Service
public class TemperatureServiceImpl implements TemperatureService {
+
+
+
@Resource
private TemperatureRepository temperatureRepository;
@Resource
@@ -64,8 +68,8 @@ public class TemperatureServiceImpl implements TemperatureService {
temperature.setTemperature(strDataTemperature[1]);
this.temperatureRepository.save(temperature);
- ResponseDto responseDto = this.oracleTemperatureService.saveTemperature(temperature);
- log.info(new Gson().toJson(responseDto));
+// ResponseDto responseDto = this.oracleTemperatureService.saveTemperature(temperature);
+// log.info(new Gson().toJson(responseDto));
}
}
@@ -74,6 +78,42 @@ public class TemperatureServiceImpl implements TemperatureService {
this.temperatureRepository.save(temperature);
}
+ @Override
+ @DS("sqlserver")
+ public void saveTemperatureBySqlServer(String temperatureAndHumidityData,String topic) {
+ String[] strDataTemperature = temperatureAndHumidityData.split(" ");
+ Date now = new Date();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat sdfHour = new SimpleDateFormat("yyyy-MM-dd HH");
+ SimpleDateFormat sdfMinute = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ SimpleDateFormat sdfSecond = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+ String nowDate = sdf.format(now);
+ String nowHour = sdfHour.format(now);
+ String dataMinute = sdfMinute.format(now);
+ String dataSecond = sdfSecond.format(now);
+ Temperature temperature = new Temperature();
+ temperature.setCreateDate(now);
+ temperature.setDataDate(nowDate);
+ temperature.setDataHour(nowHour);
+ temperature.setDataMinute(dataMinute);
+ if(topic!=null){
+ temperature.setTopic(topic);
+ if(topic.equals("WifiSHT/7C87CE9CA4E6/SHT20")){
+ temperature.setLocationDesc("广东省珠海市高新区唐家湾镇东岸村水风三街28号501");
+ }
+ if(topic.equals("WifiSHT/7C87CE9F5CBF/SHT20")){
+ temperature.setLocationDesc("广东省珠海市金湾区三灶镇百川路1号1栋1单元1508房");
+ }
+ if(topic.equals("WifiSHT/4CEBD686B6AA/SHT20")){
+ temperature.setLocationDesc("广西壮族自治区崇左市天等县天等镇荣华村弄在屯113号");
+ }
+ }
+ temperature.setHumidity(strDataTemperature[0]);
+ temperature.setTemperature(strDataTemperature[1]);
+ this.temperatureRepository.save(temperature);
+ }
+
@Override
public List findFirst10ByDataDateAndLocationDesc(String dataDate, String locationDesc) {
int page=1,size=10;
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index ad2b69b..586ddea 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -9,31 +9,40 @@ logging:
spring:
datasource:
- type: com.zaxxer.hikari.HikariDataSource
-# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
-# url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=appserver;encrypt=false;
-# username: sa
-# password: Skyinno251,
- #url: jdbc:mysql://192.168.3.29:3306/appserver?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true
- url: jdbc:mysql://127.0.0.1:3306/appserver?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true
- #url: jdbc:mysql://192.168.2.18:3306/appserver?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true
- #url: jdbc:mysql://192.168.1.92:3306/appserver?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true
- #url: jdbc:mysql://192.168.3.7:3306/appserver?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true
- #url: jdbc:mysql://192.168.3.7:3306/appserver?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true
- #url: jdbc:mysql://192.168.1.24:3306/weather?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true
- #url: jdbc:mysql://192.168.3.24:3306/appserver?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true
- #url: jdbc:mysql://192.168.1.24:3306/appserver?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true
- #url: jdbc:mysql://47.242.184.139:3306/appserver?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true
- #url: jdbc:mysql://192.168.3.9:3306/appserver?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true
- driverClassName: com.mysql.cj.jdbc.Driver #com.mysql.cj.jdbc.Driver com.mysql.jdbc.Driver
- username: root
- password: Skyinno251,
-# driverClassName: oracle.jdbc.driver.OracleDriver
-# url: jdbc:oracle:thin:@192.168.3.9:1521/orcl
-# username: appserver
-# password: appserver
+ dynamic:
+ enabled: true #启用动态数据源,默认true
+ primary: mysql #设置默认的数据源或者数据源组,默认值即为master
+ strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
+ grace-destroy: false #是否优雅关闭数据源,默认为false,设置为true时,关闭数据源时如果数据源中还存在活跃连接,至多等待10s后强制关闭
+ datasource:
+ mysql:
+ url: jdbc:mysql://127.0.0.1:3306/weather?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true
+ driverClassName: com.mysql.cj.jdbc.Driver #com.mysql.cj.jdbc.Driver com.mysql.jdbc.Driver
+ username: root
+ password: Skyinno251,
+ sqlserver:
+ driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
+ url: jdbc:sqlserver://192.168.3.29:1433;DatabaseName=weather;encrypt=false;
+ username: sa
+ password: 452131wW
+ oracle:
+ driverClassName: oracle.jdbc.driver.OracleDriver
+ url: jdbc:oracle:thin:@192.168.3.9:1521/orcl
+ username: appserver
+ password: appserver
+# postgresql:
+# url: jdbc:postgresql://192.168.3.24:5432/weather
+# driverClassName: org.postgresql.Driver #com.mysql.cj.jdbc.Driver com.mysql.jdbc.Driver
+# username: postgres
+# password: 452131wW
+# kingbase:
+# name: kingbase
+# url: jdbc:kingbase8://192.168.3.29:54321/kingbase?useUnicode=true
+# driverClassName: com.kingbase8.Driver
+# username: system
+# password: 452131wW
+
jpa:
- database: mysql # 配置 DBMS 类型
show-sql: true # 配置是否将执行的 SQL 输出到日志
open-in-view: true
hibernate: