以下Spring Boot版本为2.1.4。发现多数据源这里1.x和2.x的API不同,2.0.x和2.1.x也不同,官网也没有特别的guide,官方的repo也没有完整demo,在这里耗费了挺长时间。

一、多数据源的支持

项目开发中,常常需要在一个项目中使用多个数据源,因此需要配置Spring Data JPA对多数据源的使用,一般分为以下三步:

  • 配置多数据源
  • 不同源的repository放入不同包路径
  • 声明不同的包路径下使用不同的数据源、事务支持

配置两个数据源:

#master
spring.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.master.url=jdbc:mysql://10.255.242.168:3306/jpa-0?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
spring.datasource.master.username=_root
spring.datasource.master.password=Root@123#slave
spring.datasource.slave.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.slave.url=jdbc:mysql://10.255.242.168:3306/jpa-1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
spring.datasource.slave.username=_root
spring.datasource.slave.password=Root@123

读取两个配置源,构建两个数据源:

@Configuration

将数据源注入到Factory,配置repository、domian的位置,需要设置一个默认的Master数据源,Slave配置和下面类似。

@Configuration

测试:

public 

查看数据库jpa-0会有两条数据,jpa-1有一条,在实际使用中需要哪个数据源使用@Autowired注入即可。

springboot entity date_「Java」 - SpringBoot amp; JPA多数据源相关推荐

  1. 启动activemq_「Java」 - SpringBoot amp; ActiveMQ

    一.消息队列 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合.异步消息.流量削锋等问题,实现高性能.高可用.可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件. 目前在生产环境中使用较 ...

  2. activemq后台管理 看topic消息_「Java」 - SpringBoot amp; ActiveMQ

    一.消息队列 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合.异步消息.流量削锋等问题,实现高性能.高可用.可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件. 目前在生产环境中使用较 ...

  3. android javamail获取邮件太多太慢_「Java」 - SpringBoot amp; 邮件发送

    发送邮件是web应用系统的必备功能之一,用于用户注册验证.忘记密码找回或者发送营销信息.最早期使用JavaMail相关API写发送邮件的相关代码,后来Spring推出了JavaMailSender简化 ...

  4. SpringBoot图文教程8 — SpringBoot集成MBG「代码生成器」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...

  5. android string拼接字符串_「JAVA」细述合理创建字符串,分析字符串的底层存储,你不该错过...

    Java基础之字符串操作--String 字符串 什么是字符串?如果直接按照字面意思来理解就是多个字符连接起来组合成的字符序列.为了更好的理解以上的理论,我们先来解释下字符序列,字符序列:把多个字符按 ...

  6. 「Java」基于Mirai的qq机器人开发踩坑笔记(其一)

    目录 0. 前置操作 I. 安装MCL II. MCL自动登录配置 III. 安装IDEA插件 1. 新建Mirai项目 2. 编写主类 3. 添加外部依赖 4. IDEA运行 5. 插件打包 6. ...

  7. 「Java」基于Mirai的qq机器人开发踩坑笔记(其二)

    目录 0. 配置机器人 1. onLoad方法 2. onEnable方法 3. 消息属性 4. 消息监听 I. 好友消息 II. 群聊消息 III. 无差别消息 5. 发送消息 I. 文本消息 II ...

  8. java 同步解决不安全类_「JAVA」Java 线程不安全分析,同步锁和Lock机制,哪个解决方案更好...

    线程不安全 线程不安全的问题分析:在小朋友抢气球的案例中模拟网络延迟来将问题暴露出来:示例代码如下: public class ImplementsDemo { public static void ...

  9. 基于javaweb+springboot的健身管理系统(Java+ssm+springboot)

    基于javaweb+springboot的健身管理系统(Java+ssm+springboot) 主要技术:springmvc. springboot .mybatis.mysql .jQuery.l ...

最新文章

  1. android安卓开发-eclipse平台下错误记录
  2. Android学习笔记2---多界面切换
  3. mongodb系列01--基础篇
  4. 什么是Hyperledger?Linux如何围绕英特尔的区块链项目构建开放平台?
  5. SSM框架整合druid查看监控数据
  6. 计算机怎么改鼠标标志,鼠标指针怎么换,教您如何更换鼠标指针
  7. 关于ele框架样式修改
  8. Lebesgue可测函数
  9. python:金额数字转为人民币大写
  10. 数据分析09|数据转换
  11. matlab打开excel乱码,ArcGis 属性表.dbf文件使用Excel打开中文乱码的解决方法
  12. vue 调用 js 获取的今天日期、本周、本月、本年起始和结束日期
  13. 2018上半年最火的微信公众号有哪些?
  14. yum安装报错:ImportError: No module named urlgrabber.grabber
  15. PAT乙级刷题之路1055 集体照 (25分)
  16. 叉乘点乘混合运算公式_初中数学根式运算法则公式
  17. IC学习笔记1——建立时间和保持时间
  18. Azure Key Vault 简介
  19. Unity游戏开发时注意事项和难点
  20. python agg函数_dataframe转化(二)之 apply(),transform(),agg() 的用法和区别

热门文章

  1. 刀与枪的碰撞zhajinhua2012
  2. 中国程序员的前景并非一片黑暗,教你如何拥有光明的前程
  3. Python常见数据结构整理,分享给你们
  4. 什么90%的人,自学python都不能学会,原来问题出在这,赶紧看看!
  5. 总有些代码会让你大呼“我勒个去,怎么会这样子“
  6. jupyter notebook运行报404 302解决思路
  7. pandas学习笔记三之赋值操作
  8. 什么是倾斜45度的火山图?
  9. 博士女友的朋友圈都藏着什么秘密?
  10. “你都硕士博士了,竟然还不如我!”