文章目录
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。不同版本可能有所区别。