From 423cc032c053d6d153f579a803500a471d89910e Mon Sep 17 00:00:00 2001
From: liusuyi <13324259@qq.com>
Date: 星期日, 17 九月 2023 23:41:55 +0800
Subject: [PATCH] 增加多数据源

---
 src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java                   |    2 
 src/main/java/com/ard/config/DruidConfig.java                                     |   14 +-
 src/main/java/com/ard/alarm/apponekey/controller/ArdAlarmApponekeyController.java |    1 
 src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java          |    2 
 src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java           |    2 
 src/main/resources/GeneratorMapper.xml                                            |   57 +++++++++++
 src/main/resources/application-dev.yml                                            |  113 +++++++++++++++++-----
 src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java                 |    2 
 pom.xml                                                                           |   24 ++++
 src/main/resources/application.yml                                                |    2 
 src/main/java/com/ard/alarm/digitization/controller/DatabridgeController.java     |   30 ++++++
 11 files changed, 215 insertions(+), 34 deletions(-)

diff --git a/pom.xml b/pom.xml
index 419f554..42e4c7d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,6 +65,13 @@
             <artifactId>mybatis-spring-boot-starter</artifactId>
             <version>2.2.2</version>
         </dependency>
+        <!--Oracle jdbc-->
+        <!--杩欓噷娉ㄦ剰锛屾煇浜沷jdbc鐨勭増鏈笉鏀寔jdk1.8锛岄亣鍒拌繃锛岀綉涓婅杩欎釜ojdbc8鏀寔锛屾墍浠ヨ繖閲屼娇鐢ㄥ畠-->
+        <dependency>
+            <groupId>com.oracle.ojdbc</groupId>
+            <artifactId>ojdbc8</artifactId>
+            <version>19.3.0.0</version>
+        </dependency>
         <!--minio渚濊禆-->
         <dependency>
             <groupId>io.minio</groupId>
@@ -86,6 +93,12 @@
             <groupId>com.alibaba</groupId>
             <artifactId>druid-spring-boot-starter</artifactId>
             <version>1.2.14</version>
+        </dependency>
+        <!-- 鍔ㄦ�佹暟鎹簮 -->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
+            <version>3.5.0</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
@@ -124,6 +137,17 @@
                     </buildArgs>
                 </configuration>
             </plugin>
+            <plugin>
+                <groupId>org.mybatis.generator</groupId>
+                <artifactId>mybatis-generator-maven-plugin</artifactId>
+                <version>1.4.1</version>
+                <configuration>
+                    <!--閰嶇疆鏂囦欢浣嶇疆-->
+                    <configurationFile>src/main/resources/GeneratorMapper.xml</configurationFile>
+                    <verbose>true</verbose>
+                    <overwrite>true</overwrite>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 
diff --git a/src/main/java/com/ard/alarm/apponekey/controller/ArdAlarmApponekeyController.java b/src/main/java/com/ard/alarm/apponekey/controller/ArdAlarmApponekeyController.java
index d01aafb..9ea97ee 100644
--- a/src/main/java/com/ard/alarm/apponekey/controller/ArdAlarmApponekeyController.java
+++ b/src/main/java/com/ard/alarm/apponekey/controller/ArdAlarmApponekeyController.java
@@ -20,6 +20,7 @@
 public class ArdAlarmApponekeyController {
     @Resource
     private IArdAlarmApponekeyService ardAlarmApponekeyService;
+
     /**
      * 鏂板app涓�閿姤璀�
      */
diff --git a/src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java b/src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java
index c75f1df..dfc62dc 100644
--- a/src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java
+++ b/src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 import com.ard.alarm.camera.domain.ArdCameras;
+import com.baomidou.dynamic.datasource.annotation.DS;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -11,6 +12,7 @@
  * @date 2023-02-11
  */
 @Mapper
+@DS("postgres")
 public interface ArdCamerasMapper 
 {
     /**
diff --git a/src/main/java/com/ard/alarm/digitization/controller/DatabridgeController.java b/src/main/java/com/ard/alarm/digitization/controller/DatabridgeController.java
new file mode 100644
index 0000000..24ab6da
--- /dev/null
+++ b/src/main/java/com/ard/alarm/digitization/controller/DatabridgeController.java
@@ -0,0 +1,30 @@
+package com.ard.alarm.digitization.controller;
+
+import com.ard.alarm.digitization.mapper.DatabridgeMapper;
+import com.ard.alarm.digitization.model.Databridge;
+import com.ard.utils.http.AjaxResult;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import javax.annotation.Resource;
+
+/**
+ * @ClassName DatabridgeController
+ * @Description:
+ * @Author 鍒樿嫃涔�
+ * @Date 2023/9/17 23:11
+ * @Version 1.0
+ */
+@RestController
+@RequestMapping("/alarm/digitization")
+public class DatabridgeController {
+
+    @Resource
+    DatabridgeMapper databridgeMapper;
+
+
+    @GetMapping("/list")
+    public AjaxResult list(Databridge databridge) {
+        return AjaxResult.success(databridgeMapper.selectDatabridgeList(databridge));
+    }
+}
diff --git a/src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java b/src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java
index e5b3a23..ddca367 100644
--- a/src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java
+++ b/src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 import com.ard.alarm.external.domain.ArdEquipExternal;
+import com.baomidou.dynamic.datasource.annotation.DS;
 import org.apache.ibatis.annotations.Mapper;
 
 
@@ -12,6 +13,7 @@
  * @date 2023-03-13
  */
 @Mapper
+@DS("postgres")
 public interface ArdEquipExternalMapper 
 {
     /**
diff --git a/src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java b/src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java
index 2d5755c..86f93d9 100644
--- a/src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java
+++ b/src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 import com.ard.alarm.radar.domain.ArdEquipRadar;
+import com.baomidou.dynamic.datasource.annotation.DS;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -11,6 +12,7 @@
  * @date 2023-03-11
  */
 @Mapper
+@DS("postgres")
 public interface ArdEquipRadarMapper 
 {
     /**
diff --git a/src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java b/src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java
index 7208846..1cc832e 100644
--- a/src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java
+++ b/src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java
@@ -39,7 +39,7 @@
      * @淇敼浜哄拰鍏跺畠淇℃伅
      */
     @Async("alarm")
-    @Scheduled(cron="0/5 * * * * ?")
+   // @Scheduled(cron="0/5 * * * * ?")
     public void alarmHandler() {
         try {
             String allAlarmData = restTemplate.getForObject(stealElecUrl, String.class);
diff --git a/src/main/java/com/ard/config/DruidConfig.java b/src/main/java/com/ard/config/DruidConfig.java
index d1df6c6..70619ee 100644
--- a/src/main/java/com/ard/config/DruidConfig.java
+++ b/src/main/java/com/ard/config/DruidConfig.java
@@ -15,17 +15,17 @@
  * @Date: 2023骞�07鏈�04鏃�15:29
  * @Version: 1.0
  **/
-@Configuration
+
 public class DruidConfig {
     //杩欎釜娉ㄨВ璇诲彇閰嶇疆鏂囦欢鍓嶇紑涓簆refix鐨勯厤缃紝灏嗗閮ㄧ殑閰嶇疆鏂囦欢涓庤繖閲岀粦瀹�
     @ConfigurationProperties(prefix = "spring.datasource.druid")
     //瀹瑰櫒鐨勫紑鍚笌鍏抽棴
-    @Bean(initMethod = "init",destroyMethod = "close")
-    public DruidDataSource dataSource(){
-        DruidDataSource dataSource=new DruidDataSource();
-        dataSource.setProxyFilters(Lists.newArrayList(statFilter()));
-        return  dataSource;
-    }
+//    @Bean(initMethod = "init",destroyMethod = "close")
+//    public DruidDataSource dataSource(){
+//        DruidDataSource dataSource=new DruidDataSource();
+//        dataSource.setProxyFilters(Lists.newArrayList(statFilter()));
+//        return  dataSource;
+//    }
     //bean娉ㄨВ锛屾垚涓簊pring鐨刡ean锛屽埄鐢╢ilter灏嗘參sql鐨勬棩蹇楁墦鍗板嚭鏉�
     @Bean
     public Filter statFilter(){
diff --git a/src/main/resources/GeneratorMapper.xml b/src/main/resources/GeneratorMapper.xml
new file mode 100644
index 0000000..7ed6e9f
--- /dev/null
+++ b/src/main/resources/GeneratorMapper.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE generatorConfiguration
+        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
+        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
+<generatorConfiguration>
+    <!-- 鎸囧畾杩炴帴鏁版嵁搴撶殑 JDBC 椹卞姩鍖呮墍鍦ㄤ綅缃紝鎸囧畾鍒颁綘鏈満鐨勫畬鏁磋矾寰� -->
+    <classPathEntry location="D:\ENV\repository\com\oracle\ojdbc\ojdbc8\19.3.0.0\ojdbc8-19.3.0.0.jar"/>
+    <classPathEntry location="F:\desktop\orai18n-19.7.0.0.jar"/>
+    <!-- 閰嶇疆 table 琛ㄤ俊鎭唴瀹逛綋锛宼argetRuntime 鎸囧畾閲囩敤 MyBatis3 鐨勭増鏈� -->
+    <context id="tables" targetRuntime="MyBatis3">
+        <!-- 鎶戝埗鐢熸垚娉ㄩ噴锛岀敱浜庣敓鎴愮殑娉ㄩ噴閮芥槸鑻辨枃鐨勶紝鍙互涓嶈瀹冪敓鎴� -->
+        <commentGenerator>
+            <property name="suppressAllComments" value="true"/>
+        </commentGenerator>
+        <!-- 閰嶇疆鏁版嵁搴撹繛鎺ヤ俊鎭� -->
+        <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
+                        connectionURL="jdbc:oracle:thin:@//112.98.126.2:21521/orcl"
+                        userId="c##ard_user"
+                        password="123456">
+        </jdbcConnection>
+        <!-- 鐢熸垚 model 绫伙紝targetPackage 鎸囧畾 model 绫荤殑鍖呭悕锛� targetProject 鎸囧畾
+       鐢熸垚鐨� model 鏀惧湪 eclipse 鐨勫摢涓伐绋嬩笅闈�-->
+        <javaModelGenerator targetPackage="com.ard.alarm.digitization.model"
+                            targetProject="src/main/java">
+            <property name="enableSubPackages" value="false"/>
+            <property name="trimStrings" value="false"/>
+        </javaModelGenerator>
+        <!-- 鐢熸垚 MyBatis 鐨� Mapper.xml 鏂囦欢锛宼argetPackage 鎸囧畾 mapper.xml 鏂囦欢鐨�
+       鍖呭悕锛� targetProject 鎸囧畾鐢熸垚鐨� mapper.xml 鏀惧湪 eclipse 鐨勫摢涓伐绋嬩笅闈� -->
+        <sqlMapGenerator targetPackage="mapper"
+                         targetProject="src/main/resources">
+            <property name="enableSubPackages" value="false"/>
+        </sqlMapGenerator>
+        <!-- 鐢熸垚 MyBatis 鐨� Mapper 鎺ュ彛绫绘枃浠�,targetPackage 鎸囧畾 Mapper 鎺ュ彛绫荤殑鍖�
+       鍚嶏紝 targetProject 鎸囧畾鐢熸垚鐨� Mapper 鎺ュ彛鏀惧湪 eclipse 鐨勫摢涓伐绋嬩笅闈� -->
+        <javaClientGenerator type="XMLMAPPER"
+                             targetPackage="com.ard.alarm.digitization.mapper" targetProject="src/main/java">
+            <property name="enableSubPackages" value="false"/>
+        </javaClientGenerator>
+        <!-- 鏁版嵁搴撹〃鍚嶅強瀵瑰簲鐨� Java 妯″瀷绫诲悕 -->
+        <table tableName="DATABRIDGE" domainObjectName="Databridge"
+               enableCountByExample="false"
+               enableUpdateByExample="false"
+               enableDeleteByExample="false"
+               enableSelectByExample="false"
+               selectByExampleQueryId="false">
+            <!--浣跨敤瀹為檯鐨勫瓧娈靛悕-->
+            <property name="useActualColumnNames" value="true"/>
+            <columnOverride column="DB_GUID" property="id"/>
+            <columnOverride column="DB_XMMC" property="xmmc"/>
+            <columnOverride column="DB_FKEY" property="fKey"/>
+            <columnOverride column="DB_FNAME" property="fName"/>
+            <columnOverride column="DB_VALUE" property="value"/>
+            <columnOverride column="DB_DATETIME" property="dateTime"/>
+        </table>
+    </context>
+</generatorConfiguration>
\ No newline at end of file
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index bbc7292..7abba08 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -9,37 +9,100 @@
       max-file-size: 30MB
       max-request-size: 30MB
   datasource:
-      #  浣跨敤druid鏁版嵁搴撹繛鎺ユ睜
-    druid:
-        #寮�鍚痙ruid鐩戞帶web
-      stat-view-servlet:
-        enabled: true
-      driver-class-name: org.postgresql.Driver
-      url: jdbc:postgresql://192.168.1.15:5432/ry-vue?stringtype=unspecified
-      username: postgres
-      password: postgres
-      #鏈�澶ц繛鎺ユ暟
-      maxActive: 30
-      #鏈�灏忚繛鎺ユ暟
-      minIdle: 5
-      #鑾峰彇杩炴帴鐨勬渶澶х瓑寰呮椂闂�
-      maxWait: 10000
-      #瑙e喅mysql8灏忔椂鐨勯棶棰�
-      validation-query: SELECT 'X'
-      #绌洪棽杩炴帴鐨勬鏌ユ椂闂撮棿闅�
-      timeBetweenEvictionRunsMillis: 60000
-      #绌洪棽杩炴帴鏈�灏忕┖闂叉椂闂�
-      minEvictableIdleTimeMillis: 300000
+    dynamic:
+      primary: postgres #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�
+      strict: false #涓ユ牸鍖归厤鏁版嵁婧�,榛樿false. true鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鎶涘紓甯�,false浣跨敤榛樿鏁版嵁婧�
+      druid: # 鍏ㄥ眬druid鍙傛暟锛屽崟鐙暟鎹簮閰嶇疆涓虹┖鏃跺彇鍏ㄥ眬閰嶇疆
+        # 杩炴帴姹犵殑閰嶇疆淇℃伅
+        # 鍒濆鍖栧ぇ灏忥紝鏈�灏忥紝鏈�澶�
+        initial-size: 1
+        min-idle: 2
+        maxActive: 8
+        # 閰嶇疆鑾峰彇杩炴帴绛夊緟瓒呮椂鐨勬椂闂�
+        maxWait: 60000
+        # 閰嶇疆闂撮殧澶氫箙鎵嶈繘琛屼竴娆℃娴嬶紝妫�娴嬮渶瑕佸叧闂殑绌洪棽杩炴帴锛屽崟浣嶆槸姣
+        timeBetweenEvictionRunsMillis: 60000
+        # 閰嶇疆涓�涓繛鎺ュ湪姹犱腑鏈�灏忕敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣
+        minEvictableIdleTimeMillis: 300000
+        validationQuery: SELECT 1 FROM DUAL
+        testWhileIdle: true
+        testOnBorrow: false
+        testOnReturn: false
+        # 鎵撳紑PSCache锛屽苟涓旀寚瀹氭瘡涓繛鎺ヤ笂PSCache鐨勫ぇ灏�
+        poolPreparedStatements: true
+        maxPoolPreparedStatementPerConnectionSize: 20
+        # 閰嶇疆鐩戞帶缁熻鎷︽埅鐨刦ilters锛屽幓鎺夊悗鐩戞帶鐣岄潰sql鏃犳硶缁熻锛�'wall'鐢ㄤ簬闃茬伀澧�
+        filters: stat,wall,slf4j
+        # 閫氳繃connectProperties灞炴�ф潵鎵撳紑mergeSql鍔熻兘锛涙參SQL璁板綍
+        connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
+      datasource:
+        oracle:
+          url: jdbc:oracle:thin:@//112.98.126.2:21521/orcl
+          username: c##ard_user
+          password: 123456
+          driver-class-name: oracle.jdbc.driver.OracleDriver
+          druid: #閰嶇疆mysql 榛樿杩炴帴姹犲弬鏁�
+            # 杩炴帴姹犵殑閰嶇疆淇℃伅
+            # 鍒濆鍖栧ぇ灏忥紝鏈�灏忥紝鏈�澶�
+            initial-size: 3
+            min-idle: 3
+            maxActive: 8
+            # 閰嶇疆鑾峰彇杩炴帴绛夊緟瓒呮椂鐨勬椂闂�
+            maxWait: 600000
+            # 閰嶇疆闂撮殧澶氫箙鎵嶈繘琛屼竴娆℃娴嬶紝妫�娴嬮渶瑕佸叧闂殑绌洪棽杩炴帴锛屽崟浣嶆槸姣
+            timeBetweenEvictionRunsMillis: 60000
+            # 閰嶇疆涓�涓繛鎺ュ湪姹犱腑鏈�灏忕敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣
+            minEvictableIdleTimeMillis: 300000
+            validationQuery: SELECT 1 FROM DUAL
+            testWhileIdle: true
+            testOnBorrow: false
+            testOnReturn: false
+            # 鎵撳紑PSCache锛屽苟涓旀寚瀹氭瘡涓繛鎺ヤ笂PSCache鐨勫ぇ灏�
+            poolPreparedStatements: true
+            maxPoolPreparedStatementPerConnectionSize: 20
+            # 閰嶇疆鐩戞帶缁熻鎷︽埅鐨刦ilters锛屽幓鎺夊悗鐩戞帶鐣岄潰sql鏃犳硶缁熻锛�'wall'鐢ㄤ簬闃茬伀澧�
+            filters: stat,wall,slf4j
+            # 閫氳繃connectProperties灞炴�ф潵鎵撳紑mergeSql鍔熻兘锛涙參SQL璁板綍
+            connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
+        postgres:
+          url: jdbc:postgresql://192.168.1.55:5432/ry-vue
+          username: postgres
+          password: postgres
+          driver-class-name: org.postgresql.Driver
+          druid: # 閰嶇疆multi-datasource1 鏁版嵁婧愯繛鎺ユ睜鍙傛暟
+            # 杩炴帴姹犵殑閰嶇疆淇℃伅
+            # 鍒濆鍖栧ぇ灏忥紝鏈�灏忥紝鏈�澶�
+            initial-size: 2
+            min-idle: 2
+            maxActive: 2
+            # 閰嶇疆鑾峰彇杩炴帴绛夊緟瓒呮椂鐨勬椂闂�
+            maxWait: 600000
+            # 閰嶇疆闂撮殧澶氫箙鎵嶈繘琛屼竴娆℃娴嬶紝妫�娴嬮渶瑕佸叧闂殑绌洪棽杩炴帴锛屽崟浣嶆槸姣
+            timeBetweenEvictionRunsMillis: 60000
+            # 閰嶇疆涓�涓繛鎺ュ湪姹犱腑鏈�灏忕敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣
+            minEvictableIdleTimeMillis: 300000
+            validationQuery: SELECT 1
+            testWhileIdle: true
+            testOnBorrow: false
+            testOnReturn: false
+            # 鎵撳紑PSCache锛屽苟涓旀寚瀹氭瘡涓繛鎺ヤ笂PSCache鐨勫ぇ灏�
+            poolPreparedStatements: true
+            maxPoolPreparedStatementPerConnectionSize: 20
+            # 閰嶇疆鐩戞帶缁熻鎷︽埅鐨刦ilters锛屽幓鎺夊悗鐩戞帶鐣岄潰sql鏃犳硶缁熻锛�'wall'鐢ㄤ簬闃茬伀澧�
+            filters: stat,wall,slf4j
+            # 閫氳繃connectProperties灞炴�ф潵鎵撳紑mergeSql鍔熻兘锛涙參SQL璁板綍
+            connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
+
   # netty閰嶇疆
   netty:
     udp:
       port: 40000
       enabled: true
     tcp:
-      enabled: true
+      enabled: false
   # mqtt閰嶇疆
   mqtt:
-    host: tcp://192.168.1.15:1883
+    host: tcp://192.168.1.55:1883
     clientId: cc3
     username: admin
     password: xzx12345
@@ -62,8 +125,8 @@
 # 鏃ュ織绛夌骇閰嶇疆
 logging:
   level:
-    hikSdk: debug
-    mqtt: info
+    hikSdk: info
+    mqtt: debug
     netty: info
     external: info
     camera: info
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index fadf7d2..ad9a171 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,4 +1,4 @@
 spring:
   profiles:
-    active: prod
+    active: dev
 

--
Gitblit v1.9.3