1.若依框架如何配置双数据源?
1.先在ruoyi-admin的yml配置上对应的数据库的信息
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
# 主库数据源
master:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: true
driverClassName: oracle.jdbc.OracleDriver
url: jdbc:oracle:thin:@192.168.88.151:1521:XE
username: C##CAR
password: '123456'
2.在你的若依的ruoyi-admin模块下修改xml配置文件
<!-- Mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- oracle驱动包 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
3.写好对应的实体类,mapper,service,serviceImpl,还有controller(就和使用mybatis一样的写法!)
这是我的实体类:
mapper:
mapper对应的xml
service:
serviceImpl:(因为我使用了双数据源 mysql主库,oracle从库,而且我这里要使用 从库 也就是oracle数据库 使用这样要配置:@DataSource(value = DataSourceType.SLAVE) 这个注解,告诉spring我使用的是那个数据源)
@Override
@DataSource(value = DataSourceType.SLAVE)
public List<CarGoods> list() {
List<CarGoods> list = carGoodsMapper.list();
if(list!=null&&!list.isEmpty()){
for (CarGoods carGoods : list) {
System.err.println(carGoods.toString());
}
}
return list;
}
@Override
@DataSource(value = DataSourceType.SLAVE)
public void add(CarGoods carGoods) {
carGoodsMapper.add(carGoods);
}
controller:
在若依的前端页面里使用只带的接口插件发送请求,接口也是正常的!