摘要:單數據源訪問多數據庫的路由開發在某些可以配置多站點的開發框架中,如果每個站點多帶帶配置了多帶帶的數據庫。那么利用單一數據源根據不同的站點切換不同的數據庫比較方便。在這里展示了框架下的解決方案。在切換數據庫之前,需要先再進行切換
單數據源訪問多數據庫的路由開發
在某些可以配置多站點的開發框架中,如果每個站點多帶帶配置了多帶帶的數據庫。那么利用單一數據源根據不同的站點切換不同的數據庫比較方便。
在這里展示了spring框架下的解決方案。利用了spring的org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource
站點路由的datasource SiteRoutingDataSource
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; public class SiteRoutingDataSource extends AbstractRoutingDataSource { @Override protected Object determineCurrentLookupKey() { return SiteContextHolder.getSiteCode(); } }
用來判定當前站點的工具類SiteContextHolder
import org.springframework.util.Assert; public class SiteContextHolder { private static final ThreadLocalcontextHolder = new ThreadLocal (); public static void setSiteCode(String siteCode) { Assert.notNull(siteCode, "siteCode cannot be null"); contextHolder.set(siteCode); } public static String getSiteCode() { return (String) contextHolder.get(); } public static void clearSiteCode() { contextHolder.remove(); } }
spring的xml配置:
${hgc.datasource.driverClassName} ${hgc.datasource.url} ${hgc.datasource.username} ${hgc.datasource.password} ${ahpu.datasource.driverClassName} ${ahpu.datasource.url} ${ahpu.datasource.username} ${ahpu.datasource.password}
在使用過程中 通過 SiteContextHolder.setSiteCode(CODE);來進行數據源選擇。在切換數據庫之前,需要先SiteContextHolder.clearSiteCode();再進行切換
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64880.html
摘要:單數據源訪問多數據庫的路由開發在某些可以配置多站點的開發框架中,如果每個站點單獨配置了單獨的數據庫。那么利用單一數據源根據不同的站點切換不同的數據庫比較方便。在這里展示了框架下的解決方案。在切換數據庫之前,需要先再進行切換 單數據源訪問多數據庫的路由開發 在某些可以配置多站點的開發框架中,如果每個站點單獨配置了單獨的數據庫。那么利用單一數據源根據不同的站點切換不同的數據庫比較方便。 在...
摘要:老實說我不是第一次想歪了而且很慢總是不能很快抓住要點當別人用后端從做博客做論壇聯系完成的應用的時候我跑去學單頁面應用還很久掙扎在的思路當中我想說的是走大多數人走的路的確是可以減少浪費的時間和錯誤的走少數人在的路當然也刺激的我最近才明白原來前 老實說我不是第一次想歪了, 而且很慢, 總是不能很快抓住要點. 當別人用后端 MVC 從做博客做論壇, 聯系完成 MVC 的應用的時候 我跑去學單...
摘要:原作者原鏈接基于多入口生成模板用于服務端渲染的方案及實戰法律聲明警告本作品遵循署名非商業性使用禁止演繹未本地化版本協議發布。這是什么背景現代化的前端項目中很多都使用了客戶端渲染的單頁面應用。 原作者:@LinuxerPHL原鏈接:基于 Webpack 4 多入口生成模板用于服務端渲染的方案及實戰 法律聲明 警告:本作品遵循 署名-非商業性使用-禁止演繹3.0 未本地化版本(CC BY-...
摘要:原作者原博文地址基于多入口生成模板用于服務端渲染的方案及實戰法律聲明警告本作品遵循署名非商業性使用禁止演繹未本地化版本協議發布。這是什么背景現代化的前端項目中很多都使用了客戶端渲染的單頁面應用。 原作者:@LinuxerPHL原博文地址: 基于 Webpack 4 多入口生成模板用于服務端渲染的方案及實戰 法律聲明 警告:本作品遵循 署名-非商業性使用-禁止演繹3.0 未本地化版本(...
閱讀 1734·2021-10-18 13:30
閱讀 2608·2021-10-09 10:02
閱讀 2965·2021-09-28 09:35
閱讀 2091·2019-08-26 13:39
閱讀 3522·2019-08-26 13:36
閱讀 1950·2019-08-26 11:46
閱讀 1135·2019-08-23 14:56
閱讀 1694·2019-08-23 10:38