代码运行的结果:

配置文件代码:
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
List<ISqlParser> sqlParserList = new ArrayList<>();
TenantSqlParser tenantSqlParser = new TenantSqlParser();
tenantSqlParser.setTenantHandler(new TenantHandler() {
@Override
public Expression getTenantId(boolean where) {
return new LongValue(1088248166370832385L);
}
@Override
public String getTenantIdColumn() {
return "manager_id";
}
@Override
public boolean doTableFilter(String tableName) {
return "user".equals(tableName);
}
});
sqlParserList.add(tenantSqlParser);
paginationInterceptor.setSqlParserList(sqlParserList);
return paginationInterceptor;
}
同学,这样写,不好使是必然的。
因为你的doTableFilter方法中,把user表给过滤掉了,你写的逻辑是,如果表名等于user,则不增加租户条件。
这个方法返回false的才会增加租户条件。
@Override
public boolean doTableFilter(String tableName) {
return "user".equals(tableName);
}