Commit 2600160c by 袁伟铭

添加多数据源

parent df582aef
...@@ -60,6 +60,11 @@ ...@@ -60,6 +60,11 @@
<artifactId>mybatis-plus-boot-starter</artifactId> <artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis.plus.version}</version> <version>${mybatis.plus.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<!-- druid数据源驱动 --> <!-- druid数据源驱动 -->
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
......
package com.zq.portal.config;
public class DBName {
public final static String GXBZ = "gxbz";
public final static String GXCJ = "gxcj";
public final static String GXDB = "gxdb";
public final static String GXHY = "gxhy";
public final static String GXSHZZ = "gxshzz";
}
...@@ -76,6 +76,7 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { ...@@ -76,6 +76,7 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
Map<String, Set<String>> anonymousUrls = getAnonymousUrl(handlerMethodMap); Map<String, Set<String>> anonymousUrls = getAnonymousUrl(handlerMethodMap);
Set<String> apiSet = new HashSet<>(); Set<String> apiSet = new HashSet<>();
//不使用注解的时候在这添加url放行 //不使用注解的时候在这添加url放行
apiSet.add("/portal/app/**");
// apiSet.add("/static/map/**"); // apiSet.add("/static/map/**");
anonymousUrls.put("API", apiSet); anonymousUrls.put("API", apiSet);
......
package com.zq.portal.dao; package com.zq.portal.dao;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.zq.portal.config.DBName;
import com.zq.portal.vo.YearStatsVo; import com.zq.portal.vo.YearStatsVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@DS(DBName.GXBZ)
@Repository @Repository
public interface BzStatsDao { public interface BzStatsDao {
......
package com.zq.portal.dao; package com.zq.portal.dao;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.zq.portal.config.DBName;
import com.zq.portal.vo.YearStatsVo; import com.zq.portal.vo.YearStatsVo;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@DS(DBName.GXDB)
@Repository @Repository
public interface DbStatsDao { public interface DbStatsDao {
......
package com.zq.portal.dao; package com.zq.portal.dao;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.zq.portal.config.DBName;
import com.zq.portal.vo.YearStatsVo; import com.zq.portal.vo.YearStatsVo;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@DS(DBName.GXHY)
@Repository @Repository
public interface HyStatsDao { public interface HyStatsDao {
......
package com.zq.portal.dao; package com.zq.portal.dao;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.zq.portal.config.DBName;
import com.zq.portal.vo.YearStatsVo; import com.zq.portal.vo.YearStatsVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@DS(DBName.GXSHZZ)
@Repository @Repository
public interface ShzzStatsDao { public interface ShzzStatsDao {
......
...@@ -29,10 +29,10 @@ public class StatsService { ...@@ -29,10 +29,10 @@ public class StatsService {
private final PortalCacheManager portalCacheManager; private final PortalCacheManager portalCacheManager;
public Object getMapStatsData(AreaVo vo) { public Object getMapStatsData(AreaVo vo) {
Object obj = portalCacheManager.getObj(CacheKeys.getMapDataKey(vo.getPId())); // Object obj = portalCacheManager.getObj(CacheKeys.getMapDataKey(vo.getPId()));
if (obj != null) { // if (obj != null) {
return obj; // return obj;
} // }
List<Map<String, Object>> returnData = new ArrayList<>(); List<Map<String, Object>> returnData = new ArrayList<>();
//获取子区域 //获取子区域
...@@ -40,6 +40,7 @@ public class StatsService { ...@@ -40,6 +40,7 @@ public class StatsService {
AssertUtils.isTrue(kid != null && kid.size() > 0, "该地区没有数据"); AssertUtils.isTrue(kid != null && kid.size() > 0, "该地区没有数据");
for (SystemArea systemArea : kid) { for (SystemArea systemArea : kid) {
// 区域数据
Map<String, Object> areaData = new HashMap<>(); Map<String, Object> areaData = new HashMap<>();
String areaCode = systemArea.subAreaCode(); String areaCode = systemArea.subAreaCode();
// 每年死亡人数 // 每年死亡人数
...@@ -51,6 +52,8 @@ public class StatsService { ...@@ -51,6 +52,8 @@ public class StatsService {
areaData.put("deathsPerYear", deathsPerYear); areaData.put("deathsPerYear", deathsPerYear);
areaData.put("marryPerYear", marryPerYear); areaData.put("marryPerYear", marryPerYear);
areaData.put("soorganPerYear", soorganPerYear); areaData.put("soorganPerYear", soorganPerYear);
areaData.put("areaName", systemArea.getName());
areaData.put("areaCode", systemArea.getCode());
returnData.add(areaData); returnData.add(areaData);
} }
......
...@@ -9,6 +9,4 @@ public class YearStatsVo { ...@@ -9,6 +9,4 @@ public class YearStatsVo {
private Integer num; private Integer num;
private String areaCode;
} }
...@@ -21,16 +21,14 @@ spring: ...@@ -21,16 +21,14 @@ spring:
database: 0 database: 0
host: ${redis.url} host: ${redis.url}
port: ${redis.port} port: ${redis.port}
# password: ${redis.password} # password: ${redis.password}
#连接超时时间 #连接超时时间
timeout: 5000 timeout: 5000
datasource: datasource:
dynamic: # mybatis plus多数据源插件
primary: master #设置默认的数据源或者数据源组,默认值即为master
strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
druid: druid:
db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: ${jdbc.driver-class-name}
username: ${jdbc.username}
password: ${jdbc.password}
url: ${jdbc.url}
# 初始连接数 # 初始连接数
initial-size: 5 initial-size: 5
# 最小连接数 # 最小连接数
...@@ -50,23 +48,85 @@ spring: ...@@ -50,23 +48,85 @@ spring:
test-on-return: false test-on-return: false
# 检测连接是否有效 # 检测连接是否有效
validation-query: select 1 validation-query: select 1
# 配置监控统计 datasource:
webStatFilter: master:
enabled: true type: com.alibaba.druid.pool.DruidDataSource
stat-view-servlet: url: jdbc:mysql://192.168.0.193:3306/mz_big_data?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
enabled: true username: root
url-pattern: /druid/* password: rooT123!321
reset-enable: false driver-class-name: com.mysql.cj.jdbc.Driver
filter: gxbz:
stat: type: com.alibaba.druid.pool.DruidDataSource
enabled: true url: jdbc:mysql://192.168.0.193:3306/gx-bz?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
# 记录慢SQL username: root
log-slow-sql: true password: rooT123!321
slow-sql-millis: 1000 driver-class-name: com.mysql.cj.jdbc.Driver
merge-sql: true gxcj:
wall: type: com.alibaba.druid.pool.DruidDataSource
config: url: jdbc:mysql://192.168.0.193:3306/gx-cj?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
multi-statement-allow: true username: root
password: rooT123!321
driver-class-name: com.mysql.cj.jdbc.Driver
gxdb:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://192.168.0.193:3306/gx-db?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: rooT123!321
driver-class-name: com.mysql.cj.jdbc.Driver
gxhy:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://192.168.0.193:3306/gx-hy?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: rooT123!321
driver-class-name: com.mysql.cj.jdbc.Driver
gxshzz:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://192.168.0.193:3306/gx-shzz?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: rooT123!321
driver-class-name: com.mysql.cj.jdbc.Driver
# druid:
# db-type: com.alibaba.druid.pool.DruidDataSource
# driverClassName: ${jdbc.driver-class-name}
# username: ${jdbc.username}
# password: ${jdbc.password}
# url: ${jdbc.url}
# # 初始连接数
# initial-size: 5
# # 最小连接数
# min-idle: 10
# # 最大连接数
# max-active: 20
# # 获取连接超时时间
# max-wait: 5000
# # 连接有效性检测时间
# time-between-eviction-runs-millis: 60000
# # 连接在池中最小生存的时间
# min-evictable-idle-time-millis: 300000
# # 连接在池中最大生存的时间
# max-evictable-idle-time-millis: 900000
# test-while-idle: true
# test-on-borrow: false
# test-on-return: false
# # 检测连接是否有效
# validation-query: select 1
# # 配置监控统计
# webStatFilter:
# enabled: true
# stat-view-servlet:
# enabled: true
# url-pattern: /druid/*
# reset-enable: false
# filter:
# stat:
# enabled: true
# # 记录慢SQL
# log-slow-sql: true
# slow-sql-millis: 1000
# merge-sql: true
# wall:
# config:
# multi-statement-allow: true
# mybatis plus 配置 # mybatis plus 配置
mybatis-plus: mybatis-plus:
global-config: global-config:
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</select> </select>
<select id="findKid" parameterType="java.lang.String" resultType="com.zq.common.entity.SystemArea"> <select id="findKid" parameterType="java.lang.String" resultType="com.zq.common.entity.SystemArea">
SELECT id as id, type ,parent_id as parentId,name FROM system_area a where a.parent_id=#{value} SELECT id as id, code, type ,parent_id as parentId,name FROM system_area a where a.parent_id=#{value}
</select> </select>
<select id="getYear" resultType="com.zq.common.entity.SystemYear"> <select id="getYear" resultType="com.zq.common.entity.SystemYear">
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
SELECT SELECT
COUNT(1) 'num', LEFT(i.DEATH_DATE,4) 'year' COUNT(1) 'num', LEFT(i.DEATH_DATE,4) 'year'
FROM FROM
`gx-bz`.fis_scatter_dead_info i fis_scatter_dead_info i
WHERE i.ID_CARD LIKE CONCAT(#{areaCode}, '%') WHERE i.ID_CARD LIKE CONCAT(#{areaCode}, '%')
GROUP BY GROUP BY
LEFT(i.DEATH_DATE,4) LEFT(i.DEATH_DATE,4)
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
SELECT SELECT
COUNT(1) 'num', DATE_FORMAT(m.AIAX0048,"%Y") 'year' COUNT(1) 'num', DATE_FORMAT(m.AIAX0048,"%Y") 'year'
FROM FROM
`gx-hy`.mrcase m mrcase m
WHERE (m.AIAP0013 LIKE CONCAT(#{areaCode},'%') OR m.AIAP0014 LIKE CONCAT(#{areaCode},'%')) WHERE (m.AIAP0013 LIKE CONCAT(#{areaCode},'%') OR m.AIAP0014 LIKE CONCAT(#{areaCode},'%'))
GROUP BY GROUP BY
DATE_FORMAT(m.AIAX0048,"%Y") DATE_FORMAT(m.AIAX0048,"%Y")
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
SELECT SELECT
COUNT(1) 'num', DATE_FORMAT(s.issueTime,"%Y") 'year' COUNT(1) 'num', DATE_FORMAT(s.issueTime,"%Y") 'year'
FROM FROM
`gx-shzz`.soorgan s soorgan s
WHERE s.adminCodeId LIKE CONCAT('45','%') WHERE s.adminCodeId LIKE CONCAT('45','%')
GROUP BY GROUP BY
DATE_FORMAT(s.issueTime,"%Y") DATE_FORMAT(s.issueTime,"%Y")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment