JeecgBoot开发多租户SAAS数据隔离,查询数据库,改造多租户后 Mybatis-plus 查询数据库的SQL语句tenant-id[租户Id] 一直为0

Posted 蓝匣子itbluebox

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JeecgBoot开发多租户SAAS数据隔离,查询数据库,改造多租户后 Mybatis-plus 查询数据库的SQL语句tenant-id[租户Id] 一直为0相关的知识,希望对你有一定的参考价值。

JeecgBoot开发多租户SAAS查询数据或者对外开发接口的时候会自动进行数据隔离

1、登录状态的情况下

从登录状态当中获取最新的tenantId

LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();

String tenantId = loginUser.getTenantId();

从header当中获取

String tenantId = req.getHeader("tenant-id");

在查询数据库的Service和Mapper之前设置

TenantContext.setTenant(tenantId);
xxService.list();
TenantContext.setTenant(tenantId);
xxMapper.list();

2、直接可以从前端的传入的参数当中获取tenantId

TenantContext.setTenant(tenantId);
xxService.list();
TenantContext.setTenant(tenantId);
xxMapper.list();

以上是关于JeecgBoot开发多租户SAAS数据隔离,查询数据库,改造多租户后 Mybatis-plus 查询数据库的SQL语句tenant-id[租户Id] 一直为0的主要内容,如果未能解决你的问题,请参考以下文章

SAAS多租户数据逻辑隔离

saas系统多租户数据隔离的实现数据隔离方案

saas系统多租户数据隔离的实现数据隔离方案

实现saas多租户方案比较

SaaS模式应用之多租户系统开发(单数据库多Schema设计)

什么是多租户saas架构设计