白鹿洞
2020-02-08 09:23
代码运行的结果:
配置文件代码:
@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); }
MyBatis-Plus进阶
23296 学习 · 118 问题
相似问题