多数据源集成
parent
f1c400adb6
commit
9c565e505d
@ -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();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
package com.docus.bgts.entity;
|
||||
|
||||
public class VDocumentPdf {
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.docus.bgts.mapper;
|
||||
package com.docus.bgts.mapper.dbmysql;
|
||||
|
||||
|
||||
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.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.docus.bgts.entity.AfInterfaceCollectSub;
|
@ -0,0 +1,8 @@
|
||||
package com.docus.bgts.mapper.dboracle;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface TestMapper {
|
||||
|
||||
List<String> getA();
|
||||
}
|
@ -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…
Reference in New Issue