亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

多租戶3.3.1.tmp刪除數據沒有作用

代碼運行的結果:

http://img1.sycdn.imooc.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.sycdn.imooc.com//5e3e0cfd0001610607290545.jpg


正在回答

1 回答

同學,這樣寫,不好使是必然的。

因為你的doTableFilter方法中,把user表給過濾掉了,你寫的邏輯是,如果表名等于user,則不增加租戶條件。

這個方法返回false的才會增加租戶條件。

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


0 回復 有任何疑惑可以回復我~
#1

白鹿洞 提問者

這里我修改了,還是不行
2020-02-08 回復 有任何疑惑可以回復我~
#2

白鹿洞 提問者 回復 白鹿洞 提問者

可以了
2020-02-08 回復 有任何疑惑可以回復我~
#3

老猿 回復 白鹿洞 提問者

好使了就好
2020-02-08 回復 有任何疑惑可以回復我~
#4

白鹿洞 提問者

老師您好,你的視頻能更隨mp的版本做一個更新嗎?
2020-02-08 回復 有任何疑惑可以回復我~
#5

白鹿洞 提問者

public Expression getTenantId(boolean where) { return new LongValue(1088248166370832385L); } 這個方法里面的where參數的是什么作用?
2020-02-08 回復 有任何疑惑可以回復我~
#6

老猿 回復 白鹿洞 提問者

目前還沒有計劃做更新,因為都是同一個大版本,主體上變化不大。
2020-02-08 回復 有任何疑惑可以回復我~
#7

老猿 回復 白鹿洞 提問者

where 參數 true 表示為 where 條件 false 表示為 insert 或者 select 條件
2020-02-08 回復 有任何疑惑可以回復我~
#8

老猿 回復 老猿

這個應該是調用的時候,如果你是insert語句,它應該給你傳過來false。delete或update語句的話,給你傳true。今天有點晚了,我明天試驗一下,答復你。
2020-02-08 回復 有任何疑惑可以回復我~
#9

老猿 回復 白鹿洞 提問者

where參數,試驗出來了,當你執行的是delete或update語句的話,where的值為true。當你執行select或insert語句的話,where的值為false。
2020-02-09 回復 有任何疑惑可以回復我~
#10

白鹿洞 提問者 回復 老猿

你好,老師能發一個例子嗎?
2020-02-10 回復 有任何疑惑可以回復我~
#11

老猿 回復 白鹿洞 提問者

同學,跟你寫的類似啊。網站規定課程的源代碼是不提供的抱歉。
2020-02-12 回復 有任何疑惑可以回復我~
#12

白鹿洞 提問者 回復 老猿

好,我去github找個例子看一下。
2020-02-12 回復 有任何疑惑可以回復我~
查看9條回復

舉報

0/150
提交
取消

多租戶3.3.1.tmp刪除數據沒有作用

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號