Springboot项目多数据源配置详细步骤

一、引入对应的依赖

<!--    Oracel    -->
<dependency>
  <groupId>com.oracle.database.jdbc</groupId>
  <artifactId>ojdbc6</artifactId>
  <version>11.2.0.4</version>
</dependency>
<!--for SqlServer-->
<dependency>
  <groupId>com.microsoft.sqlserver</groupId>
  <artifactId>mssql-jdbc</artifactId>
  <version>8.2.0.jre8</version>
</dependency>
<!--其他类型,引入对应的数据源即可-->

二、配置文件配置

spring:
  cloud:
    nacos:
      config:
        enabled: true
        server-addr: xx.xxx.xxx.88:8848
        file-extension: yml
      discovery:
        enabled: true
        server-addr: 10.254.253.88:8848
  #动态配置
  datasource:
    dynamic:
      primary: master
      datasource:
        #oracle
        master:
          url: jdbc:oracle:thin:@xx.xxx.xxx.xx:1521:ORCL
          driver-class-name: oracle.jdbc.driver.OracleDriver
          username: xxx
          password: xxxx@xxxxx.xxx.cn
          #SQLServer
        person:
          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
          url: jdbc:sqlserver://xx.xxx.xxx.xx:1433;DatabaseName=TransDbCpu
          username: xxxx
          password: xxxx!xxx
          #oracle
        jwPerson:
          url: jdbc:oracle:thin:@xx.xxx.xxx.xx:1521:ORCL
          driver-class-name: oracle.jdbc.driver.OracleDriver
          username: xx
          password: xxxxxxx@xxxxx.xxx.cn

三、代码中使用

举一个oracle的例子,其他类似,在实现类中增加@DS注释,注意一个实现类只可使用一种

package com.base.info.service.impl;


import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.base.info.dao.DepartDao;
import com.base.info.dao.JWPersonDao;
import com.base.info.dao.PersonDao;
import com.base.info.model.entity.SchoolJWPersonEntity;
import com.base.info.model.entity.SchoolPersonEntity;
import com.base.info.model.qo.PersonInfoQo;
import com.base.info.service.SynJWPersonService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;


/**
 * @author wcg
 * @since 2024/01/31
 */
@Slf4j
@Service
@DS("jwPerson")   //要与配置中的一致
public class SynJWPersonServiceImpl implements SynJWPersonService {

    @Resource
    private JWPersonDao jwPersonDao; //对应的dao层及实体类是对应数据库的表

    @Override
    public List<String> schoolPersonList(PersonInfoQo personInfoQo) {
        return null;
    }

}

四、工作中使用到了,特此做个记录,使用很顺畅,有问题可以留言讨论。

相关推荐

  1. Springboot项目数据配置详细步骤

    2024-02-01 11:46:03       50 阅读
  2. Springboot实现配置数据

    2024-02-01 11:46:03       55 阅读
  3. Springboot JPA实现数据配置

    2024-02-01 11:46:03       54 阅读
  4. SpringBoot数据配置及使用

    2024-02-01 11:46:03       34 阅读
  5. docker 部署springboot项目详细步骤

    2024-02-01 11:46:03       50 阅读
  6. SpringBoot基于注解形式配置数据@DS

    2024-02-01 11:46:03       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-01 11:46:03       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-01 11:46:03       97 阅读
  3. 在Django里面运行非项目文件

    2024-02-01 11:46:03       78 阅读
  4. Python语言-面向对象

    2024-02-01 11:46:03       88 阅读

热门阅读

  1. 幻兽帕鲁服务器游戏版本怎么升级更新?

    2024-02-01 11:46:03       50 阅读
  2. 低代码开发在金融系统中的应用研究

    2024-02-01 11:46:03       72 阅读
  3. 【Linux 无网络状态下离线安装 MySQL】

    2024-02-01 11:46:03       61 阅读
  4. vue3兼容超宽屏、超窄屏、4K屏幕等等

    2024-02-01 11:46:03       51 阅读
  5. API横向越权修复之ID加密

    2024-02-01 11:46:03       44 阅读
  6. Flask 之 SQLAlchemy

    2024-02-01 11:46:03       51 阅读
  7. Rust - 变量

    2024-02-01 11:46:03       57 阅读