MybatisPlus针对Saas系统的动态多租户插件
多租户就是用额外的一个字段代表当前表中的数据的归属。在sql curd时根据上下文的用户(租户) 自动拼接此条件动态就是有些表是公用的,没有多租户的概念。那么操作此表的时候需要排除,亦或者多个字段,每个字段的值都不一样等
前期工作1.首先定义一个多租户字段的枚举,为提取数据库多租户字段的字段做准备IEnums参考通用枚举
1234567891011121314151617181920212223242526272829303132@Getterpublic enum TenantField implements IEnums<String> { // mid 为我们系统的租户字段 // CurrentTenant 是业务系统的上下文,比如说当前的登录用户信息,可以自由改造 MID("商户id", "mid", () -> CurrentTenant.getCurrentTenant().getMid()), ; private final String[] dbFieldNames; ...