当前位置: 首页 > article >正文

Springboot连接多数据库

需求:springboot后台需要访问其他数据库的数据,同时操作多个数据库的数据。

pom.xml文件配置:

<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
	<version>3.5.1</version>
</dependency>

application.yml配置:

# 注意这里前面的空格很重要,否则不起作用
spring:

  datasource:
    dynamic:
      primary: aaa
      strict: false
      initialization-mode: always
      aaa:
        longi:
          url: jdbc:mysql:urla
          username: root
          password: aaaa
          driver-class-name: com.mysql.cj.jdbc.Driver
          hikari:
            connection-timeout: 30000      # 连接超时时间,默认30秒
            idle-timeout: 600000           # 连接空闲超时时间
            max-lifetime: 120000          # 连接最大存活时间,30分钟
        bbb:
          url: jdbc:urlb
          username: root
          password: bbbb
          driver-class-name: com.mysql.cj.jdbc.Driver
          hikari:
            connection-timeout: 30000      # 连接超时时间,默认30秒
            idle-timeout: 600000           # 连接空闲超时时间
            max-lifetime: 120000          # 连接最大存活时间,30分钟
        ccc:
          url: jdbc:urlc
          username: root
          password: cccc
          driver-class-name: com.mysql.cj.jdbc.Driver
          hikari:
            connection-timeout: 30000      # 连接超时时间,默认30秒
            idle-timeout: 600000           # 连接空闲超时时间
            max-lifetime: 120000          # 连接最大存活时间,30分钟

mapper文件代码:

@DS("aaa")
@Mapper
public interface DeviceMapper {

    @Select("select * from ${tableName} where type = #{type};")
    List<DeviceStatus> getDeviceStatusByType(String tableName, String type);
}

service文件代码:

@Service
public class UserService {
    @Autowired
    AAAMapper aaarMapper;
    @Autowired
    BBBMapper bbbMapper;
    @Autowired
    CCCMapper cccMapper;

    public Object SelectUser(String phone)
    {
        AAAUser aaaUser = aaarMapper.SelectUser(phone);
        if (aaaUser != null)
            return aaaUser ;
        BBBUser bbbUser = bbbMapper.SelectUser(phone);
        if (bbbUser != null)
            return bbbUser ;
        CCCUser cccUser = cccMapper.SelectUser(phone);
        if (cccUser != null)
            return cccUser ;
        return null;
    }
}

效果:


http://www.kler.cn/news/354057.html

相关文章:

  • GPT-SoVITS的批量克隆声音并且合并
  • R语言机器学习算法实战系列(五)GBM算法+SHAP值 (Gradient Boosting Machines)
  • plsql查询Oracle数据库发现有的数据是乱码
  • Pr 音频效果快速参考(合集 · 2025版)
  • 基于Leaflet和SpringBoot的全球国家综合检索WebGIS可视化
  • 阿里 C++面试,算法题没做出来,,,
  • 基于STM32的智能物联网家用机器人设计
  • 组串式储能变流升压一体机
  • Field injection is not recommended – Spring IOC
  • AutoCompleteTextView
  • 【SuperHotSwap】IDEA零配置热更新插件升级
  • 【设计模式】深入理解Python中的原型设计模式
  • 【电商购物管理系统】Python+Django网页界面平台+商品管理+数据库
  • Unity3D模型消融方法(二)
  • vue中如何自定义Form表单rules校验方法(手机号/座机号、身份证号/社会统一信代码校验,支持多个,以英文逗号分隔)
  • Scala的filter函数
  • 网络基础一
  • 利用高德API获取整个城市的公交路线并可视化(五)
  • Promise.race()
  • 【python爬虫】携程旅行景点游客数据分析与可视化