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

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

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.3</version>
</dependency>

2.如上ojdbc6在maven中央仓库里面是没有 的  所以需要手动注入到本地maven仓库中,首先下载这jar包到项目根目录下   如下:

3.在idea中Terminala输入maven注入命令:mvn install:install-file -Dfile=ojdbc6-11.2.0.3.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  即可  如下:

 

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  如下:

 

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

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Spring Boot中配置多个数据可以通过使用多个DataSource来实现。以下是配置MySQLOracle数据的步骤: 1. 引入依赖 在pom.xml文件中添加如下依赖: ```xml <!-- MySQL驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- Oracle驱动 --> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.4</version> </dependency> ``` 2. 配置数据 在application.yml或application.properties文件中,添加以下配置: ```yaml # MySQL 数据配置 spring.datasource.mysql.url=jdbc:mysql://localhost:3306/mysql?useSSL=false&serverTimezone=UTC&characterEncoding=utf8 spring.datasource.mysql.username=root spring.datasource.mysql.password=root spring.datasource.mysql.driver-class-name=com.mysql.jdbc.Driver # Oracle 数据配置 spring.datasource.oracle.url=jdbc:oracle:thin:@localhost:1521:orcl spring.datasource.oracle.username=system spring.datasource.oracle.password=oracle spring.datasource.oracle.driver-class-name=oracle.jdbc.driver.OracleDriver ``` 3. 配置JdbcTemplate配置数据后,我们可以使用Spring提供的JdbcTemplate来操作数据库。在代码中,我们需要分别创建两个JdbcTemplate对象,如下所示: ```java @Configuration public class DataSourceConfig { @Bean(name = "mysqlJdbcTemplate") public JdbcTemplate mysqlJdbcTemplate(@Qualifier("mysqlDataSource") DataSource dataSource) { return new JdbcTemplate(dataSource); } @Bean(name = "oracleJdbcTemplate") public JdbcTemplate oracleJdbcTemplate(@Qualifier("oracleDataSource") DataSource dataSource) { return new JdbcTemplate(dataSource); } @Bean(name = "mysqlDataSource") @ConfigurationProperties(prefix = "spring.datasource.mysql") public DataSource mysqlDataSource() { return DataSourceBuilder.create().build(); } @Bean(name = "oracleDataSource") @ConfigurationProperties(prefix = "spring.datasource.oracle") public DataSource oracleDataSource() { return DataSourceBuilder.create().build(); } } ``` 在上面的代码中,我们使用@Qualifier注解来指定不同的数据。我们还定义了两个JdbcTemplate对象,并使用@ConfigurationProperties注解将数据配置注入到DataSource对象中。这样,我们就可以在代码中通过@Autowired注解来使用这两个JdbcTemplate对象了。 需要注意的是,如果你使用了JPA或MyBatis等持久化框架来操作数据库,那么你需要在这些框架的配置文件中指定不同的数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值