1、目录结构

2.jdbc.properties配置

#db houge

spring.datasource.houge.jdbc-url=jdbc:oracle:thin:@192.168.0.120::ORCL

spring.datasource.houge.username=houge

spring.datasource.houge.password=monkey

spring.datasource.houge.driver-class-name=oracle.jdbc.driver.OracleDriver

spring.datasource.houge.initial-size=

spring.datasource.houge.min-idle=

spring.datasource.houge.max-active=

#db gkh

spring.datasource.gkh.jdbc-url=jdbc:oracle:thin:@192.168.0.115::ORCL

spring.datasource.gkh.username=gkh

spring.datasource.gkh.password=

spring.datasource.gkh.driver-class-name=oracle.jdbc.driver.OracleDriver

spring.datasource.gkh.initial-size=

spring.datasource.gkh.min-idle=

spring.datasource.gkh.max-active=

3、注解式数据源配置DataSourceConfig

@Configuration

@PropertySource("classpath:config/jdbc.properties")

public class DataSourceConfig {

    @Primary

    @Bean(name = "dataSourceHouge")

    @ConfigurationProperties(prefix = "spring.datasource.houge")

    public DataSource dataSourceHouge() {

        return DataSourceBuilder.create().build();

    }

    @Bean(name = "dataSourceGkh")

    @ConfigurationProperties(prefix = "spring.datasource.gkh")

    public DataSource dataSourceGkh() {

        return DataSourceBuilder.create().build();

    } 

}

4、houge数据库配置

@Configuration

@EnableTransactionManagement

@EnableJpaRepositories(

        entityManagerFactoryRef = "entityManagerFactoryHouge",

        transactionManagerRef = "transactionManagerHouge",

        basePackages = {"com.lofty.springboot.repository.houge" })

public class HougeDataSource {

    @Autowired

    @Qualifier("dataSourceHouge")

    private DataSource dataSourceHouge;

    @Primary

    @Bean(name = "entityManagerFactoryHouge")

    public LocalContainerEntityManagerFactoryBean entityManagerFactoryHouge(EntityManagerFactoryBuilder builder) {

        LocalContainerEntityManagerFactoryBean em = builder.dataSource(dataSourceHouge)

                .packages("com.lofty.springboot.domain.houge")

                .persistenceUnit("hougePersistenceUnit").build();

        return em;

    }

    @Primary

    @Bean(name = "transactionManagerHouge")

    PlatformTransactionManager transactionManagerHouge(EntityManagerFactoryBuilder builder) {

        return new JpaTransactionManager(entityManagerFactoryHouge(builder).getObject());

    }

}

5、gkh数据库配置

@Configuration

@EnableTransactionManagement

@EnableJpaRepositories(

        entityManagerFactoryRef = "entityManagerFactoryGkh",

        transactionManagerRef = "transactionManagerGkh",

        basePackages = {"com.lofty.springboot.repository.gkh" })

public class GkhDataSource {

    @Autowired

    @Qualifier("dataSourceGkh")

    private DataSource dataSourceGkh;

    @Bean(name = "entityManagerFactoryGkh")

    public LocalContainerEntityManagerFactoryBean entityManagerFactoryGkh(EntityManagerFactoryBuilder builder) {

        LocalContainerEntityManagerFactoryBean em = builder.dataSource(dataSourceGkh)

                .packages("com.lofty.springboot.domain.gkh")

                .persistenceUnit("gkhPersistenceUnit").build();

        return em;

    }

    @Bean(name = "transactionManagerGkh")

    PlatformTransactionManager transactionManagerGkh(EntityManagerFactoryBuilder builder) {

        return new JpaTransactionManager(entityManagerFactoryGkh(builder).getObject());

    }

}

6、启动测试

六、springboot(三)配置双数据源的更多相关文章

  1. spring项目配置双数据源读写分离

    我们最早做新项目的时候一直想做数据库的读写分离与主从同步,由于一些原因一直没有去做这个事情,这次我们需要配置双数据源的起因是因为我们做了一个新项目用了另一个数据库,需要把这个数据库的数据显示到原来的后 ...

  2. spring boot 配置双数据源mysql、sqlServer

    背景:原来一直都是使用mysql数据库,在application.properties 中配置数据库信息 spring.datasource.url=jdbc:mysql://xxxx/test sp ...

  3. SpringBoot+MyBatis配置多数据源

    SpringBoot 可以支持多数据源,这是一个非常值得学习的功能,但是从现在主流的微服务的架构模式中,每个应用都具有唯一且准确的功能,多数据源的需求很难用到,考虑到实际情况远远比理论复杂的多,这里还 ...

  4. spring+mybatis 配置双数据源

    配置好后,发现网上已经做好的了, 不过,跟我的稍有不同, 我这里再拿出来现个丑: properties 文件自不必说,关键是这里的xml: <?xml version="1.0&quo ...

  5. springboot配置双数据源 MySQL和SqlServer

    1. pom文件的驱动jar包加上去, compile 'com.microsoft.sqlserver:mssql-jdbc:6.2.2.jre8' 2. application.yml sprin ...

  6. springboot + mybatis配置多数据源示例

    转:http://www.jb51.net/article/107223.htm 在实际开发中,我们一个项目可能会用到多个数据库,通常一个数据库对应一个数据源. 代码结构: 简要原理: 1)Datab ...

  7. Java开发学习(三十六)----SpringBoot三种配置文件解析

    一. 配置文件格式 我们现在启动服务器默认的端口号是 8080,访问路径可以书写为 http://localhost:8080/books/1 在线上环境我们还是希望将端口号改为 80,这样在访问的时 ...

  8. SpringMVC配置双数据源,一个java项目同时连接两个数据库

    数据源在配置文件中的配置 请点击--->   java架构师项目实战,高并发集群分布式,大数据高可用,视频教程 <pre name="code" class=" ...

  9. spring 配置双数据源并读写分离

    摘自 开源项目Ibase4j    关键思想在于AbstractRoutingSource 类 还有方法名称和切入点去控制使用哪个数据源    1.首先在配置文件配置多个数据源 并且交给继承自spri ...

随机推荐

  1. 从Oracle数据库中的本地命名文件tnsnames.ora来看服务别名、服务名和实例名的区别。

    tnsnames.ora的作用这里就不多述了,各位应该都知道. 首先先看两个例子: test1 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCO ...

  2. 如何实时查看Linux下日志

    以下以Tomcat为例子,其他WEB服务器目录自己灵活修改即可: 1.先切换到:cd usr/local/tomcat5/logs2.tail -f catalina.out3.这样运行时就可以实时查 ...

  3. php 正则概述

    修饰符   s 模式中的点号元字符匹配所有字符 非打印字符 字符  含义  \cx  匹配由x指明的控制字符.例如, \cM 匹配一个 Control-M 或回车符.x 的值必须为 A-Z 或 a-z ...

  4. kbmMW授权管理解析(The kbmMW Authorization manager explained)

    从kbmMW v.4.40开始,引入了一个新的非常灵活的授权管理器. 它的目的是为开发人员提供为用户定义资源权限的功能,这是一个可选功能,将现有的授权事件驱动方案内置到kbmMW中,使授权开发任务更容 ...

  5. 将numpy array由浮点型转换为整型

    使用numpy中的astype()方法可以实现,示例如下: x Out[20]: array([[ 5. , 4. ], [ 4. , 4.33333333], [ 3.66666667, 4.5 ] ...

  6. JAVA中的Set

    Set中存放的是没有重复的数据,下说记录一下使用中的小细节. 1.HashSet 区分大小写: Set<String> set1 = new HashSet<String>() ...

  7. HDU 6075 Questionnaire 17多校4 水题

    Problem Description In order to get better results in official ACM/ICPC contests, the team leader co ...

  8. 大数据-08-Sqoop入门

    简介 Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql-)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ...

  9. Swig--模板引擎

    {% filter uppercase %} oh hi, {{ name }} {% endfilter %} {% filter replace "." "!&quo ...

  10. Oracle密码概要文件,密码过期时间180天修改为3天,相关用户密码是否过期

    #Oracle用户密码,概要文件修改测试 #默认的用户使用概要文件,默认概要文件密码过期时间参数180天,修改为3天,对于老的用户来说,是密码过期,还是未发生改变, 对于新用户来说,新设置的密码过期时 ...