类 InterceptorIgnoreHelper

java.lang.Object
com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper

public abstract class InterceptorIgnoreHelper extends Object
从以下版本开始:
2020-07-31
作者:
miemie
  • 构造器详细资料

    • InterceptorIgnoreHelper

      public InterceptorIgnoreHelper()
  • 方法详细资料

    • handle

      public static void handle(IgnoreStrategy ignoreStrategy)
      手动设置拦截器忽略执行策略,权限大于注解权限

      InterceptorIgnoreHelper.handle(IgnoreStrategy.builder().tenantLine(true).build());

      注意,需要手动关闭调用方法 clearIgnoreStrategy()

      简化操作可请使用execute(IgnoreStrategy, Supplier)

      参数:
      ignoreStrategy - IgnoreStrategy
    • clearIgnoreStrategy

      public static void clearIgnoreStrategy()
      清空本地忽略策略
    • hasIgnoreStrategy

      public static boolean hasIgnoreStrategy()
      判断当前线程是否有忽略策略
      返回:
      是否有忽略策略
      从以下版本开始:
      3.5.10
    • initSqlParserInfoCache

      public static IgnoreStrategy initSqlParserInfoCache(Class<?> mapperClass)
      初始化缓存

      Mapper 上 InterceptorIgnore 注解信息

      参数:
      mapperClass - Mapper Class
    • getIgnoreStrategy

      public static IgnoreStrategy getIgnoreStrategy(String key)
      获取忽略策略缓存信息
      参数:
      key - key
      返回:
      策略信息
      从以下版本开始:
      3.5.10
    • execute

      public static <T> T execute(IgnoreStrategy ignoreStrategy, Supplier<T> supplier)
      按指定策略执行指定方法 (忽略线程级别,参数执行级使用最高) 方法执行完成后后释放掉当前线程上的忽略策略.

      注意:

    • 1.不要和handle(IgnoreStrategy)一起混合使用,此方法只是简化操作,防止未释放掉资源造成的错误
    • 2.不要和InterceptorIgnore 注解一起搭配使用,例如在mapper上的default方法里再调用此方法,最终优先级还是以此方法为准
    • 3.记住,一旦调用了此方法,开始会覆盖你当前执行线程上的策略,结束必定会释放掉当前线程上的策略无效输入:'<'/>

    • 类型参数:
      T - T
      参数:
      ignoreStrategy - 忽略策略
      supplier - 执行方法
      返回:
      返回值
      从以下版本开始:
      3.5.10
    • execute

      public static void execute(IgnoreStrategy ignoreStrategy, Runnable runnable)
      按指定策略执行指定方法 (忽略线程级别,参数执行级使用最高) 方法执行完成后后释放掉当前线程上的忽略策略.

      注意:

    • 1.不要和handle(IgnoreStrategy)一起混合使用,此方法只是简化操作,防止未释放掉资源造成的错误
    • 2.不要和InterceptorIgnore 注解一起搭配使用,例如在mapper上的default方法里再调用此方法,最终优先级还是以此方法为准
    • 3.记住,一旦调用了此方法,开始会覆盖你当前执行线程上的策略,结束必定会释放掉当前线程上的策略无效输入:'<'/>

    • 参数:
      ignoreStrategy - 忽略策略
      runnable - 执行方法
      从以下版本开始:
      3.5.10
    • findIgnoreStrategy

      public static IgnoreStrategy findIgnoreStrategy(Class<?> clz, Method method)
      通过方法获取策略信息(优先级方法注解>当前类注解)
      参数:
      method - 方法信息
      返回:
      忽略策略信息
      从以下版本开始:
      3.5.10
      另请参阅:
    • initSqlParserInfoCache

      public static void initSqlParserInfoCache(IgnoreStrategy mapperAnnotation, String mapperClassName, Method method)
      初始化缓存

      Mapper#method 上 InterceptorIgnore 注解信息

      参数:
      mapperAnnotation - Mapper Class Name
      method - Method
    • willIgnoreTenantLine

      public static boolean willIgnoreTenantLine(String id)
    • willIgnoreDynamicTableName

      public static boolean willIgnoreDynamicTableName(String id)
    • willIgnoreBlockAttack

      public static boolean willIgnoreBlockAttack(String id)
    • willIgnoreIllegalSql

      public static boolean willIgnoreIllegalSql(String id)
    • willIgnoreDataPermission

      public static boolean willIgnoreDataPermission(String id)
    • willIgnoreOthersByKey

      public static boolean willIgnoreOthersByKey(String id, String key)
    • willIgnore

      public static boolean willIgnore(String id, Function<IgnoreStrategy,Boolean> function)