学习笔记067——若依前后端分离版本如何设置主从库

文章目录

1、需求背景

项目有时会需要同时访问到两个不同的数据库,来实现数据的处理。

2、实现方式

例如本人需要主库是:MySQL,

从库是Oracle。

2.1、依赖导入

先在maven依赖中导入Oracle驱动(驱动版本根据自己的Oracle版本来定)

xml 复制代码
<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>19.3.0.0</version>
</dependency>

2.2、数据源配置

然后在项目的 application-druid.yml 文件中开启slave.enable: true

并且分别设置好主从库数据源信息。

2.3、使用

在Service实现类的类上 / 方法上

或者mapper的类上 / 方法上

添加:

java 复制代码
@DataSource(value = DataSourceType.SLAVE)

点击注解中SLAVE可以看到,MASTER表示主库,SLAVE表示从库。

默认加注解时,使用的是主库。

java 复制代码
/**
 * 数据源
 * 
 * @author ruoyi
 */
public enum DataSourceType
{
    /**
     * 主库
     */
    MASTER,

    /**
     * 从库
     */
    SLAVE
}

举例子:

注解加在类上,表明该类下的所有方法都是访问从库。

如果注解加在某个方法上,表明该方法访问的是从库。

mapper同理。

PS:本人使用若依版本是3.6.0。不同版本可能有所区别。

相关推荐
harder3212 分钟前
RMP模式的创新突破
开发语言·学习·ios·swift·策略模式
程序猿乐锅1 小时前
【Tilas|第三篇】多表SQL语句
数据库·经验分享·笔记·学习·mysql
徐某人..1 小时前
基于i.MX6ULL平台的智能网关系统开发
arm开发·c++·单片机·qt·物联网·学习·arm
AOwhisky2 小时前
Kubernetes 学习笔记:集群管理、命名空间与 Pod 基础
linux·运维·笔记·学习·云原生·kubernetes
光影少年2 小时前
大屏页面,一次多个请求,请求加密导致 点击 全局时间选择器 时出现卡顿咋解决(面板收起会延迟1~2秒)
前端·javascript·vue.js·学习·前端框架·echarts·reactjs
sakiko_3 小时前
UIKit学习笔记2-组件嵌套、滚动视图等
笔记·学习·objective-c·swift·uikit
知识分享小能手3 小时前
R语言入门学习教程,从入门到精通,R语言类别比较数据可视化- 完整知识点与案例代码(4)
学习·信息可视化·r语言
蛋白界小百灵4 小时前
纳米抗体技术全解析:从文库构建到亲和力成熟的关键策略
经验分享·科技·学习·健康医疗·业界资讯·卡梅德生物
我是发哥哈4 小时前
主流AI框架生产环境性能对比:5大关键维度深度评测
大数据·人工智能·学习·机器学习·ai·chatgpt·ai-native
nashane4 小时前
HarmonyOS 6学习:RCP远场通信流式返回实战——告别“一次性”数据阻塞
学习·华为·harmonyos