多数据源集成

docus-active-query-service_1.3
lzy 4 years ago
parent f1c400adb6
commit 9c565e505d

@ -125,6 +125,18 @@
<artifactId>cxf-rt-transports-http</artifactId> <artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.8</version> <version>3.1.8</version>
</dependency> </dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.oracle.jdbc/ojdbc7 -->
<!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc6 -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4</version>
</dependency>
<dependency> <dependency>
<groupId>org.apache.cxf</groupId> <groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId> <artifactId>cxf-rt-frontend-jaxws</artifactId>

@ -1,11 +1,12 @@
package com.docus.bgts; package com.docus.bgts;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
@EnableScheduling @EnableScheduling
@SpringBootApplication @SpringBootApplication(exclude = {MybatisPlusAutoConfiguration.class})
public class DemoApplication { public class DemoApplication {
public static void main(String[] args) { public static void main(String[] args) {

@ -0,0 +1,66 @@
package com.docus.bgts.config;
import com.alibaba.druid.pool.DruidDataSource;
import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.type.JdbcType;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import javax.sql.DataSource;
@Configuration
@MapperScan(basePackages = DbMysqlConfig.PACKAGE, sqlSessionFactoryRef = "dbmysqlSqlSessionFactory")
public class DbMysqlConfig {
// 这里一定要指定精准 否则后果不堪设想
static final String PACKAGE = "com.docus.bgts.mapper.dbmysql";
static final String MAPPER_LOCATION = "classpath:mapper/dbmysql/*.xml";
@Bean(name = "dbmysqlDataSource")
@ConfigurationProperties(prefix = "spring.datasource.mysql-docus")
public DataSource secondDataSource(){
return new DruidDataSource();
}
/*注入事务*/
@Bean(name = "dbmysqlTransactionManager")
public DataSourceTransactionManager secondTransactionManager() {
return new DataSourceTransactionManager(secondDataSource());
}
@Bean(name = "dbmysqlSqlSessionFactory")
public SqlSessionFactory secondSqlSessionFactory(@Qualifier("dbmysqlDataSource") DataSource dataSource)
throws Exception {
//配置mybatis-plus源
MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean ();
//添加XML目录
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
bean.setMapperLocations(resolver.getResources(MAPPER_LOCATION));
// 实体类别名
bean.setTypeAliasesPackage("com.docus.bgts.entity.*");
MybatisConfiguration configuration = new MybatisConfiguration();
//开启下划线转驼峰
configuration.setMapUnderscoreToCamelCase(true);
configuration.setJdbcTypeForNull(JdbcType.NULL);
bean.setDataSource(dataSource);
bean.setConfiguration(configuration);
return bean.getObject();
//
// final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
// sessionFactory.setDataSource(secondDataSource);
// sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
// .getResources(DbMysqlConfig.MAPPER_LOCATION));
// return sessionFactory.getObject();
}
}

@ -0,0 +1,45 @@
package com.docus.bgts.config;
import com.alibaba.druid.pool.DruidDataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import javax.sql.DataSource;
@Configuration
@MapperScan(basePackages = DbOracleConfig.PACKAGE, sqlSessionFactoryRef = "dboracleSqlSessionFactory")
public class DbOracleConfig {
// 这里一定要指定精准 否则后果不堪设想
static final String PACKAGE = "com.docus.bgts.mapper.dboracle";
static final String MAPPER_LOCATION = "classpath:mapper/dboracle/*.xml";
@Bean(name = "dboracleDataSource")
@ConfigurationProperties(prefix = "spring.datasource.oracle-docus")
public DataSource secondDataSource(){
return new DruidDataSource();
}
/*注入事务*/
@Bean(name = "dboracleTransactionManager")
public DataSourceTransactionManager secondTransactionManager() {
return new DataSourceTransactionManager(secondDataSource());
}
@Bean(name = "dboracleSqlSessionFactory")
public SqlSessionFactory secondSqlSessionFactory(@Qualifier("dboracleDataSource") DataSource secondDataSource)
throws Exception {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(secondDataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
.getResources(DbOracleConfig.MAPPER_LOCATION));
return sessionFactory.getObject();
}
}

@ -17,50 +17,50 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import java.util.Objects; import java.util.Objects;
@Configuration //@Configuration
@RequiredArgsConstructor //@RequiredArgsConstructor
@EnableTransactionManagement //@EnableTransactionManagement
@MapperScan("com.docus.bgts.mapper") //@MapperScan("com.docus.bgts.mapper")
@ConditionalOnClass(value = {PaginationInterceptor.class}) //@ConditionalOnClass(value = {PaginationInterceptor.class})
public class MybatisPlusConfig { //public class MybatisPlusConfig {
//
//
private final MybatisPlusProperties mybatisPlusProperties; // private final MybatisPlusProperties mybatisPlusProperties;
@Bean // @Bean
public PaginationInterceptor paginationInterceptor() { // public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); // PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
return paginationInterceptor; // return paginationInterceptor;
} // }
//
@PostConstruct // @PostConstruct
public void initMybatisConfig(){ // public void initMybatisConfig(){
mybatisPlusProperties.setMapperLocations(new String[]{"classpath*:/mapper/*Mapper.xml"}); // mybatisPlusProperties.setMapperLocations(new String[]{"classpath*:/mapper/*Mapper.xml"});
mybatisPlusProperties.setTypeAliasesPackage("com.docus.bgts.entity"); // mybatisPlusProperties.setTypeAliasesPackage("com.docus.bgts.entity");
//
MybatisConfiguration configuration = mybatisPlusProperties.getConfiguration(); // MybatisConfiguration configuration = mybatisPlusProperties.getConfiguration();
if(Objects.isNull(configuration)){ // if(Objects.isNull(configuration)){
configuration=new MybatisConfiguration(); // configuration=new MybatisConfiguration();
} // }
configuration.setMapUnderscoreToCamelCase(true); // configuration.setMapUnderscoreToCamelCase(true);
configuration.setCacheEnabled(true); // configuration.setCacheEnabled(true);
configuration.setLogImpl(NoLoggingImpl.class); // configuration.setLogImpl(NoLoggingImpl.class);
mybatisPlusProperties.setConfiguration(configuration); // mybatisPlusProperties.setConfiguration(configuration);
//
var globalConfig = mybatisPlusProperties.getGlobalConfig(); // var globalConfig = mybatisPlusProperties.getGlobalConfig();
if(Objects.isNull(globalConfig)){ // if(Objects.isNull(globalConfig)){
globalConfig=new GlobalConfig(); // globalConfig=new GlobalConfig();
} // }
GlobalConfig.DbConfig dbConfig = globalConfig.getDbConfig(); // GlobalConfig.DbConfig dbConfig = globalConfig.getDbConfig();
if(Objects.isNull(dbConfig)){ // if(Objects.isNull(dbConfig)){
dbConfig=new GlobalConfig.DbConfig(); // dbConfig=new GlobalConfig.DbConfig();
} // }
configuration.setCallSettersOnNulls(true); // configuration.setCallSettersOnNulls(true);
dbConfig.setIdType(IdType.ASSIGN_ID); // dbConfig.setIdType(IdType.ASSIGN_ID);
dbConfig.setTableUnderline(true); // dbConfig.setTableUnderline(true);
dbConfig.setLogicDeleteValue("1"); // dbConfig.setLogicDeleteValue("1");
dbConfig.setLogicNotDeleteValue("0"); // dbConfig.setLogicNotDeleteValue("0");
dbConfig.setLogicDeleteField("def_flag"); // dbConfig.setLogicDeleteField("def_flag");
globalConfig.setDbConfig(dbConfig); // globalConfig.setDbConfig(dbConfig);
globalConfig.setBanner(false); // globalConfig.setBanner(false);
} // }
} //}

@ -29,6 +29,11 @@ public class BgtsController {
@Autowired @Autowired
IAfCollectTaskService afCollectTaskService; IAfCollectTaskService afCollectTaskService;
@GetMapping("/test1")
public String test1(){
return afCollectTaskService.getA();
}
@ApiOperation("采集接口") @ApiOperation("采集接口")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "empId",value = "患者主索引号",required = true,dataTypeClass = String.class), @ApiImplicitParam(name = "empId",value = "患者主索引号",required = true,dataTypeClass = String.class),

@ -0,0 +1,4 @@
package com.docus.bgts.entity;
public class VDocumentPdf {
}

@ -22,4 +22,6 @@ public interface IAfCollectTaskService extends IService<AfCollectTask> {
void insert(ReportDownDto reportDownDto); void insert(ReportDownDto reportDownDto);
void updateInterfaceCollect(String collectSubId, int state); void updateInterfaceCollect(String collectSubId, int state);
String getA();
} }

@ -1,4 +1,4 @@
package com.docus.bgts.mapper; package com.docus.bgts.mapper.dbmysql;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;

@ -1,4 +1,4 @@
package com.docus.bgts.mapper; package com.docus.bgts.mapper.dbmysql;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.docus.bgts.entity.AfInterfaceCollect; import com.docus.bgts.entity.AfInterfaceCollect;

@ -1,4 +1,4 @@
package com.docus.bgts.mapper; package com.docus.bgts.mapper.dbmysql;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.docus.bgts.entity.AfInterfaceCollectSub; import com.docus.bgts.entity.AfInterfaceCollectSub;

@ -0,0 +1,8 @@
package com.docus.bgts.mapper.dboracle;
import java.util.List;
public interface TestMapper {
List<String> getA();
}

@ -5,14 +5,16 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.docus.bgts.entity.*; import com.docus.bgts.entity.*;
import com.docus.bgts.facade.IAfCollectTaskService; import com.docus.bgts.facade.IAfCollectTaskService;
import com.docus.bgts.mapper.AfCollectTaskMapper; import com.docus.bgts.mapper.dbmysql.AfCollectTaskMapper;
import com.docus.bgts.mapper.AfInterfaceCollectMapper; import com.docus.bgts.mapper.dbmysql.AfInterfaceCollectMapper;
import com.docus.bgts.mapper.AfInterfaceCollectSubMapper; import com.docus.bgts.mapper.dbmysql.AfInterfaceCollectSubMapper;
import com.docus.bgts.mapper.dboracle.TestMapper;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -27,6 +29,9 @@ import java.util.List;
@Service @Service
public class AfCollectTaskServiceImpl extends ServiceImpl<AfCollectTaskMapper, AfCollectTask> implements IAfCollectTaskService { public class AfCollectTaskServiceImpl extends ServiceImpl<AfCollectTaskMapper, AfCollectTask> implements IAfCollectTaskService {
@Autowired
TestMapper testMapper;
@Autowired @Autowired
AfCollectTaskMapper afCollectTaskMapper; AfCollectTaskMapper afCollectTaskMapper;
@ -108,4 +113,12 @@ public class AfCollectTaskServiceImpl extends ServiceImpl<AfCollectTaskMapper, A
} }
@Override
public String getA() {
System.out.println(afCollectTaskMapper.getpatientIdByEmpId("5555566666"));
System.out.println(afCollectTaskMapper.selectList(new QueryWrapper<>()));
List<String> a = testMapper.getA();
return Arrays.asList(a).toString();
}
} }

@ -20,7 +20,13 @@ ws:
spring: spring:
datasource: datasource:
driver-class-name: com.mysql.cj.jdbc.Driver mysql-docus:
username: docus driver-class-name: com.mysql.cj.jdbc.Driver
password: docus702 username: docus
url: jdbc:mysql://db.docus.cn:3306/docus_archivefile?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true password: docus702
url: jdbc:mysql://db.docus.cn:3306/docus_archivefile?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
oracle-docus:
driver-class-name: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:@192.168.117.100:1521:helowin
username: docus
password: docus702

@ -2,7 +2,7 @@
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.docus.bgts.mapper.AfCollectTaskMapper"> <mapper namespace="com.docus.bgts.mapper.dbmysql.AfCollectTaskMapper">
<select id="getpatientIdByEmpId" resultType="string"> <select id="getpatientIdByEmpId" resultType="string">
select patient_id select patient_id
from docus_medicalrecord.t_basic from docus_medicalrecord.t_basic

@ -0,0 +1,10 @@
<?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.bgts.mapper.dboracle.TestMapper">
<select id="getA" resultType="string">
SELECT "DOCUS"."student"."id" FROM "DOCUS"."student"
</select>
</mapper>
Loading…
Cancel
Save