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

Springboot创建多数据源

yml文件
spring:datasource:dynamic:# 设置默认的数据源或者数据源组,默认值即为 masterprimary: masterdatasource:# 主库数据源master:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://xxx.xxx.xxx.xxx:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&autoReconnect=trueusername: rootpassword: xxxxx# 本地库数据源local:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&autoReconnect=trueusername: rootpassword: xxxxx#Doris数据源doris:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://xxx.xxx.xxx.xxx:9030/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC&nuLlCatalogMeansCurrent=trueusername: rootpassword: xxxxx# ...

这里省略了其他的配置信息,多数据源的配置关注这些内容即可.

构建每个数据对应的注解
// 主数据源,@DS中填入yml文件中已经配置的数据源的名称即可
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@DS("master")
public @interface MysqlMaster {
}// 本地数据源,@DS中填入yml文件中已经配置的数据源的名称即可
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@DS("master")
public @interface MysqlLocal {
}// Doris数据源,@DS中填入yml文件中已经配置的数据源的名称即可
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@DS("doris")
public @interface Doris {
}
在Mapper中引入注解
@Mapper
@MysqlMaster
public interface MasterMapper extends BaseMapper {User1 selectAll();// ...
}@Mapper
@MysqlLocal
public interface LocalMapper extends BaseMapper {User2 selectAll();// ...
}@Mapper
@Doris
public interface DorisMapper extends BaseMapper {User3 selectAll();// ...
}

多数据源的配置及使用到这里就结束了.

http://www.lryc.cn/news/209423.html

相关文章:

  • 【Hello Algorithm】滑动窗口内最大值最小值
  • HTML,CSS实现鼠标划过头像,头像突出变大(附源码)
  • “爱知道”,你知道吗?
  • 基于SpringBoot+Vue的服装销售系统
  • 针对多分类问题,使用深度学习--Keras进行微调提升性能
  • 一、【Photoshop如何根据不同类型图像抠图】
  • rust - 理解borrow trait
  • review-java-basis
  • Go 语言访问 Redis 笔记
  • 【MySQL数据库重点】第二节:MySQL基础知识(基本操作)
  • 计算机网络--第一次作业
  • 网络协议--TCP的成块数据流
  • 鼎鑫鸿鄴引入“能源互联网+”理念 打造共赢
  • Qt下实现支持多线程的单例模式
  • 基于Java的宠物商店管理系统设计与实现(源码+lw+部署文档+讲解等)
  • ArcGIS中批量mxd高版本转低版本
  • 三篇论文:速览GPT在网络安全最新论文中的应用案例
  • 美术如何创建 skybox 贴图资源?
  • 【Linux 用户,用户组管理】
  • VS2022 C# 读取 excel 2023年
  • C# | Chaikin算法 —— 计算折线对应的平滑曲线坐标点
  • day44
  • python常用操作汇总
  • 赴日IT培训 日本IT行业为啥吃香?
  • 2016年亚太杯APMCM数学建模大赛A题基于光学信息数据的温度及关键元素含量预测求解全过程文档及程序
  • 一文讲明:企业知识库的作用和搭建方法
  • 技术的新浪潮:从SOCKS5代理到跨界电商的未来
  • Android intent的一些小使用
  • Android 关闭 SELinux 释放权限限制
  • 国际腾讯云自主拼装直播 URL教程!!!