Spring實現多資料來源操作

2021-08-15 20:39:40 字數 1876 閱讀 9277

spring中實現多資料來源 只需要繼承abstractroutingdatasource抽象類,實現determinecurrentlookupkey()方法即可。

1.該方法返回乙個key。根據這個key

protected datasource determinetargetdatasource() 

if(datasource == null) else

}

2.繼承 abstractroutingdatasource

package com.mpp.web.datasource;

import org.springframework.jdbc.datasource.lookup.abstractroutingdatasource;

/** */

public class dynamicdatasource extends abstractroutingdatasource

}

3.datasourceholder

package com.mpp.web.datasource;

/** * 儲存當前執行緒中使用的資料來源標識

*/public class datasourceholder

public static void setdatasource(string key)

public static void cleardatesource()

}

4.xml配置

5.測試

package com.mpp.test;

import com.mpp.web.datasource.constant;

import com.mpp.web.datasource.datasourceholder;

import com.mpp.web.entity.user;

import com.mysql.fabric.xmlrpc.base.data;

import org.apache.log4j.logger;

import org.junit.test;

import org.junit.runner.runwith;

import org.springframework.beans.factory.annotation.autowired;

import org.springframework.test.context.contextconfiguration;

import org.springframework.test.context.junit4.abstractjunit4springcontexttests;

import org.springframework.test.context.junit4.springjunit4classrunner;

import org.springframework.transaction.annotation.transactional;

/** * 測試類

*/@runwith(springjunit4classrunner.class)

@contextconfiguration(locations=)

//宣告乙個事務管理 每個單元測試都進行事務回滾 無論成功與否

@transactional

public class springjunittest extends abstractjunit4springcontexttests

/*** 資料來源切換測試

*/@test

public void testdbone()

}

spring 多資料來源

之前嘗試的乙個多資料來源切換的功能測試可以實現了,下面進行一下簡單的筆記 testservice 方法通過以下方式進行主動切換 dynamicdatasource 類 package com.utils import org.springframework.jdbc.datasource.looku...

spring多資料來源配置

前段時間由於公司專案需求,需要多資料來源的支援,苦b折騰了兩天程式猿,話不多說,直接擼碼。classpath jdbc.properties select 1 true select 1 true org.hibernate.dialect.mysqldialect false update tru...

spring 多資料來源配置

以下是我的xml配置,在配置的過程中涉及到不同的包分配不同的資料來源,在這裡用逗號分割就好 當然萬用字元能結局的那是最好了.xmlns xsi xmlns aop xmlns tx xmlns task xmlns context xmlns rabbit xsi schemalocation sp...