浏览代码

多租户

miemie 5 年之前
父节点
当前提交
00181cf9b1

+ 5 - 2
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/tenant/TenantHandler.java

@@ -16,6 +16,7 @@
 package com.baomidou.mybatisplus.extension.plugins.tenant;
 
 import net.sf.jsqlparser.expression.Expression;
+import net.sf.jsqlparser.expression.ValueListExpression;
 
 /**
  * 租户处理器( TenantId 行级 )
@@ -29,11 +30,13 @@ public interface TenantHandler {
      * 获取租户 ID 值表达式,支持多个 ID 条件查询
      * <p>
      * 支持自定义表达式,比如:tenant_id in (1,2) @since 2019-8-2
+     * 多参请使用 {@link ValueListExpression}
      *
-     * @param where 参数 true 表示为 select 下的 where 条件,false 表示 insert/update/delete 下的条件
+     * @param select 参数 true 表示为 select 下的 where 条件,false 表示 insert/update/delete 下的条件
+     *               只有 select 下才允许多参,否则只支持单参
      * @return 租户 ID 值表达式
      */
-    Expression getTenantId(boolean where);
+    Expression getTenantId(boolean select);
 
     /**
      * 获取租户字段名

+ 2 - 2
mybatis-plus-extension/src/test/java/com/baomidou/mybatisplus/extension/plugins/tenant/TenantSqlParserTest.java

@@ -23,8 +23,8 @@ public class TenantSqlParserTest {
     private final TenantSqlParser parser = new TenantSqlParser()
         .setTenantHandler(new TenantHandler() {
             @Override
-            public Expression getTenantId(boolean where) {
-                if (!where) {
+            public Expression getTenantId(boolean select) {
+                if (!select) {
                     return new LongValue(1);
                 }
                 ValueListExpression expression = new ValueListExpression();

+ 1 - 1
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/tenant/TenantConfig.java

@@ -46,7 +46,7 @@ public class TenantConfig {
         TenantSqlParser tenantSqlParser = new TenantSqlParser();
         tenantSqlParser.setTenantHandler(new TenantHandler() {
             @Override
-            public Expression getTenantId(boolean where) {
+            public Expression getTenantId(boolean select) {
                 return new LongValue(TENANT_ID);
             }
 

+ 1 - 1
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/config/MybatisPlusConfig.java

@@ -120,7 +120,7 @@ public class MybatisPlusConfig {
         tenantSqlParser.setTenantHandler(new TenantHandler() {
 
             @Override
-            public Expression getTenantId(boolean where) {
+            public Expression getTenantId(boolean select) {
                 return new LongValue(1L);
             }