若依多数据源Mysql+Oracle


1.引入依赖:pom.xml中添加如下代码


<dependency>
	<groupId>com.oraclegroupId>
	<artifactId>ojdbc6artifactId>
	<version>11.2.0.3version>
dependency>

2.配置文件:application-druid.yml配置主库、从库

# 数据源配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        druid:
            # 主库数据源
            master:
                url: jdbc:mysql://127.0.0.1:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                username: root
                password: password
            # 从库数据源
            slave:
                # 从数据源开关/默认关闭
                enabled: true
                url: jdbc:oracle:thin:@127.0.0.1:1521:oracle
                username: root
                password: password

3.使用:在实现类XxImpl.java或者Xxmapper.java中添加注解

  @DataSource(value = DataSourceType.SLAVE)

4.可能出现的问题:

listener does not currently know of SID given in connect descriptor;

原因可能是:服务名和sid混淆使用;
url有两种写法:

//监听sid服务,表示sid为oracle
database.url=jdbc:oracle:thin:@171.127.0.0:1:oracle
//监听服务名,表示服务名为oracle
database.url=jdbc:oracle:thin:@171.127.0.0:1/oracle

解决方法:把oracle的 “ : ” 改为 “ / ” 访问正常。

你可能感兴趣的:(数据库,spring,boot)