liusuyi
2023-09-17 423cc032c053d6d153f579a803500a471d89910e
增加多数据源
已添加2个文件
已修改9个文件
249 ■■■■ 文件已修改
pom.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ard/alarm/apponekey/controller/ArdAlarmApponekeyController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ard/alarm/digitization/controller/DatabridgeController.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ard/config/DruidConfig.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/GeneratorMapper.xml 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-dev.yml 113 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -65,6 +65,13 @@
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
        <!--Oracle jdbc-->
        <!--这里注意,某些ojdbc的版本不支持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>
src/main/java/com/ard/alarm/apponekey/controller/ArdAlarmApponekeyController.java
@@ -20,6 +20,7 @@
public class ArdAlarmApponekeyController {
    @Resource
    private IArdAlarmApponekeyService ardAlarmApponekeyService;
    /**
     * æ–°å¢žapp一键报警
     */
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 
{
    /**
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));
    }
}
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 
{
    /**
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 
{
    /**
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);
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 {
    //这个注解读取配置文件前缀为prefix的配置,将外部的配置文件与这里绑定
    @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注解,成为spring的bean,利用filter将慢sql的日志打印出来
    @Bean
    public Filter statFilter(){
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 è¡¨ä¿¡æ¯å†…容体,targetRuntime æŒ‡å®šé‡‡ç”¨ 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 æ–‡ä»¶ï¼ŒtargetPackage æŒ‡å®š 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>
src/main/resources/application-dev.yml
@@ -9,37 +9,100 @@
      max-file-size: 30MB
      max-request-size: 30MB
  datasource:
      #  ä½¿ç”¨druid数据库连接池
    druid:
        #开启druid监控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
      #解决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
        # é…ç½®ç›‘控统计拦截的filters,去掉后监控界面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
            # é…ç½®ç›‘控统计拦截的filters,去掉后监控界面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
            # é…ç½®ç›‘控统计拦截的filters,去掉后监控界面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
src/main/resources/application.yml
@@ -1,4 +1,4 @@
spring:
  profiles:
    active: prod
    active: dev