內部切換註解資料來源的值的工具類以及使用方法

2021-09-26 14:58:41 字數 756 閱讀 7817

public class datasourceswitch 

invocationhandler invocationhandler = proxy.getinvocationhandler(datasource);

field value = invocationhandler.getclass().getdeclaredfield("membervalues");

value.setaccessible(true);

mapmembervalues = (map) value.get(invocationhandler);

string val = (string) membervalues.get("value");

system.out.println("改變前"+val);

val = data;

membervalues.put("value",val);

system.out.println("改變後"+datasource);}}

博主在這裡報錯了好幾次主要有以下幾個原因:1:你的值傳錯了,2:多了空格 自己好好把握

datasourceswitch.change("druid");
裡面是自己要切換的value的值,我測試過了是可以切換的

Spring MyBatis多資料來源的切換

這兩個類的類名可以根據自己的編碼習慣命名,我的命名及實現 如下 1 datasourcecontextholder 用於進行資料來源的獲取 設定及還原 package com.cpms.trasen.common.tk import org.slf4j.logger import org.slf4j...

SpringBoot中的雙資料來源切換

在我們的專案中涉及到oracle,mysql資料庫切換 資料放在了oracle上,而配置和許可權管理放在了mysql上 所以經常要在兩者之間切換。資料來源切換總共有三種方法 1 在任何地方切換。例如我們的專案 dbcontext.changedb dbname.ims.getkey 切換oracle...

mybatisPlus的切換資料來源失效問題。

使用mybatisplu的動態切換資料來源時,遇到無法切換的問題 原因是具體操作的服務呼叫的是非同步執行緒 mp的切換資料來源資訊是放在threadlocal中去儲存的,如果切換了執行緒,那麼就取不到資料來源資訊的內容,導致無法切換資料來源的問題 對於這種情況,如果非同步有存在的必要性 那麼可以將這...