MyBatis-Plus 插件-多租戶插件

2022-03-25 14:38 更新

TenantLineInnerInterceptor

示例工程:mybatis-plus-sample-tenant

屬性介紹

 屬性名  類型  默認(rèn)值  描述
 ?tenantLineHandler?  TenantLineHandler    租戶處理器( TenantId 行級(jí) )
public interface TenantLineHandler {

    /**
     * 獲取租戶 ID 值表達(dá)式,只支持單個(gè) ID 值
     * <p>
     *
     * @return 租戶 ID 值表達(dá)式
     */
    Expression getTenantId();

    /**
     * 獲取租戶字段名
     * <p>
     * 默認(rèn)字段名叫: tenant_id
     *
     * @return 租戶字段名
     */
    default String getTenantIdColumn() {
        return "tenant_id";
    }

    /**
     * 根據(jù)表名判斷是否忽略拼接多租戶條件
     * <p>
     * 默認(rèn)都要進(jìn)行解析并拼接多租戶條件
     *
     * @param tableName 表名
     * @return 是否忽略, true:表示忽略,false:需要解析并拼接多租戶條件
     */
    default boolean ignoreTable(String tableName) {
        return false;
    }
}

說(shuō)明:

  • 多租戶 != 權(quán)限過(guò)濾,不要亂用,租戶之間是完全隔離的!!!
  • 啟用多租戶后所有執(zhí)行的?method?的sql都會(huì)進(jìn)行處理.
  • 自寫(xiě)的sql請(qǐng)按規(guī)范書(shū)寫(xiě)(sql涉及到多個(gè)表的每個(gè)表都要給別名,特別是 ?inner join? 的要寫(xiě)標(biāo)準(zhǔn)的 ?inner join?)


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)