问答详情
源自:-

多租户3.3.1.tmp删除数据没有作用

代码运行的结果:

http://img.mukewang.com/5e3e0cfd000169ec08350291.jpg

配置文件代码:

@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;
}

http://img1.mukewang.com/5e3e0cfd0001610607290545.jpg


提问者:白鹿洞 2020-02-08 09:23

个回答

  • 老猿
    2020-02-08 20:51:05
    已采纳

    同学,这样写,不好使是必然的。

    因为你的doTableFilter方法中,把user表给过滤掉了,你写的逻辑是,如果表名等于user,则不增加租户条件。

    这个方法返回false的才会增加租户条件。

            @Override        
            public boolean doTableFilter(String tableName) {           
                return "user".equals(tableName);        
            }