1、pom添加依赖

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

2、修改yml文件

spring:
datasource:
    dynamic:
      primary: newSystem #设置默认的数据源或者数据源组,默认值即为master
      strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
      datasource:
      	#数据库1
        newSystem:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://127.0.0.1:9001/db1?autoReconnect=true&useSSL=false&characterEncoding=utf-8&useTimezone=true&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
          username: user1
          password: passport1
				#数据库2
        oldSystem:
          driver-class-name: com.mysql.jdbc.Driver
          url: jdbc:mysql://127.0.0.1:9002/db/db58_ailab_ior?useSSL=false
          username: user2
          password: passport2
          # hikari使用较差配置
          hikari:
            # 最小空闲链接
            minimum-idle: 1
            # 空闲连接存活最大时间,默认600000(10分钟)
            idle-timeout: 360000
            # 连接池最大连接数,默认是10
            maximum-pool-size: 3
            # 此属性控制从池返回的连接的默认自动提交行为,默认值:true
            auto-commit: true
            # 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
            max-lifetime: 1800000
            # 数据库连接超时时间,默认30秒,即30000
            connection-timeout: 30000

3、如何使用其他数据源

3.1、使用注意事项

  - 必须在实现类中使用注解(@DS

  - 。。。

3.2、使用case

接口:

public interface OldScriptService {
    List<SpeechScript> getByCreator(String creator);

    int update(SpeechScript script);
}

实现类:

@DS("oldSystem")
@Service
public class OldScriptServiceImpl implements OldScriptService {
    @Resource
    private SpeechScriptMapper speechScriptMapper;

    @Override
    public List<SpeechScript> getByCreator(String creator) {
        Map<String,Object> params = new HashMap<>(1);
        params.put("creator", creator);
        QueryWrapper<SpeechScript> queryWrapper = Wrappers.query();
        queryWrapper.allEq(params);
        return speechScriptMapper.selectList(queryWrapper);
    }

    @Override
    public int update(SpeechScript script) {
        return speechScriptMapper.updateById(script);
    }
}

getByCreator、update使用的就是oldSystem这个数据源访问。

4、引用

https://gitee.com/baomidou/dynamic-datasource-spring-boot-starter?utm_source=alading&utm_campaign=repo

原文地址:http://www.cnblogs.com/zhangchiblog/p/16829811.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性