去掉docus封装的mybatisplus,druid数据源,使用多数据源DS

master
wyb 2 years ago
parent 5977556e45
commit 388d6f10a3

@ -47,9 +47,16 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mybatis plus-->
<dependency>
<groupId>com.docus</groupId>
<artifactId>docus-mybatisplus-starter</artifactId>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<!--nacos-->
<dependency>

@ -0,0 +1,37 @@
package com.docus.server.message.controller;
import com.docus.server.message.mapper.SdRyIcuMapper;
import com.docus.server.message.mapper.TBasicMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
/**
* @author WYBDEV
*/
@Api("多数据源测试")
@RestController
@Slf4j
@RequestMapping("/dynamic/test")
public class DynamicDatasourceTestController {
@Autowired
TBasicMapper tBasicMapper;
@Autowired
SdRyIcuMapper sdRyIcuMapper;
@ApiOperation("根据病案主键")
@GetMapping("/getPatient")
public Object getPatient(@RequestParam("patientId") String patientId,@RequestParam("db")String db){
HashMap<String, Object> stringObjectHashMap = new HashMap<>();
stringObjectHashMap.put(sdRyIcuMapper.getClass().getName(), sdRyIcuMapper.getById(patientId));
stringObjectHashMap.put( tBasicMapper.getClass().getName(),tBasicMapper.getDischargeCount(patientId));
return stringObjectHashMap;
}
}

@ -0,0 +1,13 @@
package com.docus.server.message.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
@DS("icu")
@Mapper
public interface SdRyIcuMapper {
Map<String,Object> getById(@Param("id") String patientId);
}

@ -1,12 +1,13 @@
package com.docus.server.message.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
@Mapper
public interface TBasicMapper {
List<String> getPatientIdsByInpatientNoAndTimes(@Param("inpatientNo") String inHospIndexNo, @Param("admissTimes") Integer visitNo);

@ -6,27 +6,54 @@ spring:
profiles:
active: test
datasource:
url: jdbc:log4jdbc:mysql://db.docus.cn:3306/docus_medicalrecord?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: docus
password: docus702
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource
# 初始化配置
initial-size: 3
# 最小连接数
min-idle: 3
# 最大连接数
max-active: 15
# 获取连接超 时时间
max-wait: 5000
# 连接有效性检测时间
time-between-eviction-runs-millis: 90000
# 最大空闲时间
min-evictable-idle-time-millis: 1800000
test-while-idle: true
test-on-borrow: false
test-on-return: false
validation-query: select 1
dynamic:
primary: master #设置默认的数据源默认值为master
strict: false #是否用严格模式,如果启用在味匹配到指定数据源时抛出异常
datasource:
master:
url: jdbc:log4jdbc:mysql://db.docus.cn:3306/docus_medicalrecord?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: docus
password: docus702
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource
# 初始化配置
initial-size: 3
# 最小连接数
min-idle: 3
# 最大连接数
max-active: 15
# 获取连接超 时时间
max-wait: 5000
# 连接有效性检测时间
time-between-eviction-runs-millis: 90000
# 最大空闲时间
min-evictable-idle-time-millis: 1800000
test-while-idle: true
test-on-borrow: false
test-on-return: false
validation-query: select 1
icu:
url: jdbc:log4jdbc:mysql://192.168.31.233:3306/docus_medicalrecord?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: docus
password: docus702
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
type: com.alibaba.druid.pool.DruidDataSource
# 初始化配置
initial-size: 3
# 最小连接数
min-idle: 3
# 最大连接数
max-active: 15
# 获取连接超 时时间
max-wait: 5000
# 连接有效性检测时间
time-between-eviction-runs-millis: 90000
# 最大空闲时间
min-evictable-idle-time-millis: 1800000
test-while-idle: true
test-on-borrow: false
test-on-return: false
validation-query: select 1
redis:
host: redis.docus.cn

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.docus.server.message.mapper.SdRyIcuMapper">
<select id="getById" resultType="java.util.Map">
SELECT *
FROM `docus_medicalrecord`.t_basic tb
WHERE tb.patient_id=#{id}
</select>
</mapper>
Loading…
Cancel
Save