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
New file @@ -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
New file @@ -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 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 #最大连接数 maxActive: 30 #最小连接数 minIdle: 5 #获取连接的最大等待时间 maxWait: 10000 #解决mysql8小时的问题 validation-query: SELECT 'X' #空闲连接的检查时间间隔 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