SAAS_REMOULD.md 1.7 KB

一、前提说明

1、查询SQL,where条件自动添加tenant_id
2、插入SQL,自动添加tenant_id字段
3、关联中间表,不需要tenant_id字段,比如:blade_user_role等
4、多租户的字段名:tenant_id
5、[特殊]查询SQL中,如果手动指定了tenant_id=xxx,框架不再重新拼接tenant_id条件
6、通过下方指定需要屏蔽tenant_id的,框架不再拼接tenant_id条件
7、tenant_id varchar(12) 8、entity类需要的话,可以继承org.springblade.core.mp.base.TenantEntity;或者自己写

@ApiModelProperty(value = "租户ID")
private String tenantId;

二、屏蔽以上自动添加tenant_id的方式

  • 1.整个服务模块屏蔽

    blade:
    mybatis-plus:
     tenant:
        ignoreTable: true
    
  • 2.屏蔽多个表名

 blade:
  mybatis-plus:
     tenant:
        exclusionTableNames: 
         - data_permission_dept 
  • 3.屏蔽某个mapper类中所有方法
  • 4.屏蔽某个mapper类中的一个方法

以上2种方式实现方式一样,只不过注解添加的位置不同。

@InterceptorIgnore(tenantLine = "true")
  • 5.屏蔽mybatisplus框架的某个BaseMapper类中的默认方法
blade:
  mybatis-plus:
     tenant:
       exclusionMapperIds:
       #或者 - MenuMapper.list [保证唯一性即可,框架是查询是否包含这个字符串]
       - org.springblade.modules.system.mapper.MenuMapper.list  

三、测试环境

服务器IP:121.204.249.37  
访问地址:http://121.204.249.37:8080  
服务模块部署位置:/data/webapp/springboot/  

运营人员账号:dataview / R7beUSRnByThTLmh
测试租户账号:18618242690 / admin