老師請問 ,多線程(假如很多用戶)使用動態表名這個功能
老師 ,想請問下如果很多人都在用某個系統的時候,10個請求去查user_2001表,10個請求去查user_2002表,10個請求去查user_2003表 ...等等
按照老師配的這種
public?static?ThreadLocal<String>?myTableName=new?ThreadLocal<String>(); MybatisPlusConfig.myTableName.set("user_2001");
以?threadlocal設置每個請求的想去訪問的動態表 這樣子就算用戶請求有很多,也能準確查詢出每個用戶想要查看的表是嗎。
2020-07-05
? ? ? ?如果是web項目,可以這樣寫,但是別忘了,在使用結束時,要清空ThreadLocal變量,防止被線程池重用。web處理請求時,只要沒處理完,當前處理請求的當前線程就不會釋放,不會亂掉的。
? ? ? 還有一個處理辦法,將動態表名放到request對象中也可以,然后再從request中取。
2020-06-04
+1~