zoukankan      html  css  js  c++  java
  • 动态配置多数据源

    第一步:引入依赖dynamic-datasource-spring-boot-starter,兼容mybatis-plus
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
        <version>3.1.1</version>
    </dependency>
    第二步:yml配置,记得引入对应的数据库驱动依赖
    spring:
      datasource:
      dynamic:
        primary: master#设置默认的数据源或者数据源组,默认值即为master
        datasource:
            master:
                url:
                username: 
                password: 
                driver-class-name: 
            salve:
                url:
                username:
                password:
                driver-class-name:

     第三步,使用 @DS 切换数据源。

    @DS 可以注解在方法上或类上,同时存在就近原则 方法上注解 优先于 类上注解。

    1.没有@DS 默认数据源 2.@DS(
    "dsName") dsName可以为组名也可以为具体某个库的名称
    以上是简单的多数据源配置,接下来是一些动态配置的扩展:
    //添加数据源
    DynamicRoutingDataSource dynamicRoutingDataSource= SpringUtil.getBean(DynamicRoutingDataSource.class);
    HikariConfig config = new HikariConfig();
    config.setUsername("");
    config.setPassword("");
    config.setJdbcUrl("");
    config.setDriverClassName("");
    config.setPoolName(dataSourceName);
    //默认配置
    config.validate();
    //添加数据源
    dynamicRoutingDataSource.addDataSource(dataSourceName,new HikariDataSource(config));
    //切换默认数据源
    dynamicRoutingDataSource.setPrimary(dataSourceName);
    //删除数据源
    dynamicRoutingDataSource.removeDataSource(dataSource);
    可以通过修改其默认配置实现数据源的动态管理,更多方法可阅读DynamicRoutingDataSource类的源码部分
    以及其他一些关键类:
    DynamicDataSourceAutoConfiguration DynamicDataSourceCreator YmlDynamicDataSourceProvider
  • 相关阅读:
    通讯录封装实现
    简单通讯录的实现 main..h .m文件全部
    iOS 开发 OC编程 字典和集合 排序方法
    iOS 开发 OC编程 数组冒泡排序.图书管理
    iOS 开发 OC编程 属性和字符串练习
    iOS 开发 OC编程 属性和字符串
    iOS 开发 OC编程 便利构造器以及初始化方法
    iOS 开发 OC编程 方法的书写
    IOS 开发 OC编程 类和对象
    iOS 开发 c语言阶段考试题
  • 原文地址:https://www.cnblogs.com/nxjblog/p/14518274.html
Copyright © 2011-2022 走看看