version:3.5.3.1

InterceptorIgnoreHelper.handle(IgnoreStrategy.builder().tenantLine(true).build());
Wrapper wrapper=new QueryWrapper<SysUserPo>();
List list = getBaseMapper().selectList(wrapper);
 InterceptorIgnoreHelper.clearIgnoreStrategy();

你好 ,上面的代码执行中还是会执行拦截器中InnerInterceptor中beforeQuery和processSelect方法,拦截忽略无效 请问这个要怎么解决?

Comment From: miemieYaho

InnerInterceptor里自己用InterceptorIgnoreHelper判断

Comment From: tom055

自定义拦截器已加入判断,InterceptorIgnoreHelper.willIgnoreDynamicTableName(ms.getId())为false。还是无法拦截,是这样判断的吗

@Override
    public void beforeQuery(Executor executor, MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql) throws SQLException {
        if (InterceptorIgnoreHelper.willIgnoreDynamicTableName(ms.getId())) {
            return;
        }else{
            PluginUtils.MPBoundSql mpBoundSql = PluginUtils.mpBoundSql(boundSql);
            mpBoundSql.sql(parserSingle(mpBoundSql.sql(), ms.getId()));
            mpBoundSql.parameterMappings(mpBoundSql.parameterMappings());
        }


    }

Comment From: tom055

已解决,非常感谢 拦截改为:InterceptorIgnoreHelper.handle(IgnoreStrategy.builder().tenantLine(true).dynamicTableName(true).build());