RuoYi-Vue-Plus (多数据源注解使用、【手动、拦截器】切换数据源)

接上文多数据源配置:

RuoYi-Vue-Plus (多数据源配置)-CSDN博客

一、功能演示

代码生成菜单页面, 展示数据源切换

查询主库

 查询从库

二、前端传参切换数据源

页面路径: src/views/tool/gen/index.vue

搜索框如下:下面4发送请求时候,在header带上 要切换数据库

headers: { 'datasource': localStorage.getItem("dataName") },

 前端输入框,到发送请求代码如下

1--页面输入框  
<el-form-item label="数据源" prop="dataName">
        <el-input
          v-model="queryParams.dataName"
          placeholder="请输入数据源名称"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>

2--搜索操作
  /** 搜索按钮操作 */
    handleQuery() {
      localStorage.setItem("dataName", this.queryParams.dataName);
      this.queryParams.pageNum = 1;
      this.getList();
    },

3-- 查询表集合 
    getList() {
      this.loading = true;
      listTable(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
          this.tableList = response.rows;
          this.total = response.total;
          this.loading = false;
        }
      );
    },

4-查询生成表数据
export function listTable(query) {
  return request({
    headers: { 'datasource': localStorage.getItem("dataName") },
    url: '/tool/gen/list',
    method: 'get',
    params: query
  })
}

 后台实现类标记 @DS("#header.datasource")注解,就完成通过head切换

@DS("#header.datasource")
@Slf4j
@RequiredArgsConstructor
@Service
public class GenTableServiceImpl implements IGenTableService {
。。。。。省略代码

三、字符串、实体类接受参数切换数据源

3.1 字符串
  1. 请求时候带上name入参:GET http://localhost:8080/testDynamic2?name=slave
  2. @DS("#name") 实现类标注

//controller
 @GetMapping("testDynamic2")
    public void testDynamic2(String name) {
        TestDemoVo testDemoVo = iTestDemoService.queryById(name,2L);
        Console.log("打印数据:{}", testDemoVo);

    } 


//实现类
@Override
    @DS("#name")
    public TestDemoVo queryById(String name, Long id) {
        return baseMapper.selectVoById(id);
    }

 结果:访问从库成功

打印数据:TestDemoVo(id=2, deptId=102, userId&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

syfjava

请博主喝杯蜜雪冰城

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值