该模块使用Mybatis-Plus
多租户插件提供基于表字段的多租户功能。需要为进行隔离的数据表添加 tenant_id
字段,开启多租户后,所有执行的Mybatis-Plus
方法sql都会自动进行过滤处理,无需显式添加条件。对于自写的sql按照规范书写依旧能自动处理(sql涉及到多个表的每个表都要给别名,特别是 inner join 的要写标准的 inner join)。
<!-- 多租户模块 -->
<dependency>
<groupId>com.money</groupId>
<artifactId>qk-money-tenant</artifactId>
</dependency>
-
为需要租户的表添加
tenant_id
字段 -
配置不需要租户的表
money: # 多租户 tenant: # 开关 enabled: true # 请求头 header: Y-tenant # 默认租户id default-tenant-id: "0" # 忽略的表 ignore-table: - sys_tenant - sys_dict - sys_dict_detail
-
前端请求时请求头携带租户id
使用租户上下文TenantContextHolder
Long tenantId = TenantContextHolder.getTenant();