SpringBoot配置MySQL和Oracle多数据源(JdbcTemplate)

1.在pom.xml里面添加依赖:

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.3</version>
</dependency>
<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>sqljdbc4</artifactId>
    <version>4.0</version>
</dependency>

2.如上两个ojdbc6和sqljdbc4在maven*仓库里面是没有 的  所以需要手动注入到本地maven仓库中,首先下载这两个jar包到项目目录下   记得鼠标右键  add as library一下   如下:
SpringBoot配置MySQL和Oracle多数据源(JdbcTemplate)

3.在idea中Terminala输入maven注入命令:mvn install:install-file -Dfile=sqljdbc4.jar -Dpackaging=jar -DgroupId=com.oracle  -DartifactId=ojdbc6 -Dversion=11.2.0.3      如果报错先配置好maven环境变量    再在idea中Terminal中输入命令:SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_91  即可  如下:

SpringBoot配置MySQL和Oracle多数据源(JdbcTemplate)

SpringBoot配置MySQL和Oracle多数据源(JdbcTemplate)

 

4.在application.yml配置中配置多数据源地址    配置如下:

#当前使用配置配置
spring:
  application:
  datasource:
    xh:
      driver-class-name: com.mysql.cj.jdbc.Driver
      jdbc-url: jdbc:mysql://192.168.0.123:3306/confluence_manage?characterEncoding=utf8&useSSL=false&allowMultiQueries=true&serverTimezone=UTC&serverTimezone=Asia/Shanghai
      username: root
      password: 123456
    wd:
      driver-class-name: oracle.jdbc.OracleDriver
      jdbc-url: jdbc:oracle:thin:@192.168.0.144:1521:orcl
      username: root
      password: 123456

 

5.多数据源配置  代码如下:

package com.longjin.comm.db;

import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.jdbc.core.JdbcTemplate;

import javax.sql.DataSource;

/**
 * 多数据源的时候需要配置
 * 
 *
 */
@Configuration
public class DataSourceConfig {

   //系统数据库
   @Bean(name = "wdDataSource")
   @Qualifier("wdDataSource")
   @ConfigurationProperties(prefix="spring.datasource.wd")
   public DataSource wdDataSource() {
      return DataSourceBuilder.create().build();
   }

   @Bean(name = "wdJdbcTemplate")
   public JdbcTemplate wdJdbcTemplate(@Qualifier("wdDataSource") DataSource dataSource) {
      return new JdbcTemplate(dataSource);
   }


   //
   @Bean(name = "xhDataSource")
   @Qualifier("xhDataSource")
   @Primary
   @ConfigurationProperties(prefix="spring.datasource.xh")
   public DataSource xhDataSource() {
      return DataSourceBuilder.create().build();
   }

   @Bean(name = "xhJdbcTemplate")
   public JdbcTemplate xhJdbcTemplate(@Qualifier("xhDataSource") DataSource dataSource) {
      return new JdbcTemplate(dataSource);
   }

}

 

6.在dao层注入多数据源Bean  如下:

SpringBoot配置MySQL和Oracle多数据源(JdbcTemplate)

 

7.最后写相应的service层和controller层   在postman中调用接口  如下:

SpringBoot配置MySQL和Oracle多数据源(JdbcTemplate)