国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

單數(shù)據(jù)源訪問多數(shù)據(jù)庫的路由開發(fā)

Code4App / 945人閱讀

摘要:單數(shù)據(jù)源訪問多數(shù)據(jù)庫的路由開發(fā)在某些可以配置多站點(diǎn)的開發(fā)框架中,如果每個(gè)站點(diǎn)多帶帶配置了多帶帶的數(shù)據(jù)庫。那么利用單一數(shù)據(jù)源根據(jù)不同的站點(diǎn)切換不同的數(shù)據(jù)庫比較方便。在這里展示了框架下的解決方案。在切換數(shù)據(jù)庫之前,需要先再進(jìn)行切換

單數(shù)據(jù)源訪問多數(shù)據(jù)庫的路由開發(fā)

在某些可以配置多站點(diǎn)的開發(fā)框架中,如果每個(gè)站點(diǎn)多帶帶配置了多帶帶的數(shù)據(jù)庫。那么利用單一數(shù)據(jù)源根據(jù)不同的站點(diǎn)切換不同的數(shù)據(jù)庫比較方便。

在這里展示了spring框架下的解決方案。利用了spring的org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource

站點(diǎn)路由的datasource SiteRoutingDataSource

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

public class SiteRoutingDataSource extends AbstractRoutingDataSource {

  @Override
  protected Object determineCurrentLookupKey() {
    return SiteContextHolder.getSiteCode();
  }
}

用來判定當(dāng)前站點(diǎn)的工具類SiteContextHolder

import org.springframework.util.Assert;

public class SiteContextHolder {

  private static final ThreadLocal contextHolder =
    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);來進(jìn)行數(shù)據(jù)源選擇。在切換數(shù)據(jù)庫之前,需要先SiteContextHolder.clearSiteCode();再進(jìn)行切換

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/17529.html

相關(guān)文章

  • 數(shù)據(jù)源訪問數(shù)據(jù)路由開發(fā)

    摘要:單數(shù)據(jù)源訪問多數(shù)據(jù)庫的路由開發(fā)在某些可以配置多站點(diǎn)的開發(fā)框架中,如果每個(gè)站點(diǎn)單獨(dú)配置了單獨(dú)的數(shù)據(jù)庫。那么利用單一數(shù)據(jù)源根據(jù)不同的站點(diǎn)切換不同的數(shù)據(jù)庫比較方便。在這里展示了框架下的解決方案。在切換數(shù)據(jù)庫之前,需要先再進(jìn)行切換 單數(shù)據(jù)源訪問多數(shù)據(jù)庫的路由開發(fā) 在某些可以配置多站點(diǎn)的開發(fā)框架中,如果每個(gè)站點(diǎn)單獨(dú)配置了單獨(dú)的數(shù)據(jù)庫。那么利用單一數(shù)據(jù)源根據(jù)不同的站點(diǎn)切換不同的數(shù)據(jù)庫比較方便。 在...

    frank_fun 評論0 收藏0
  • 最近想通幾個(gè)頁面應(yīng)用開發(fā)重點(diǎn)

    摘要:老實(shí)說我不是第一次想歪了而且很慢總是不能很快抓住要點(diǎn)當(dāng)別人用后端從做博客做論壇聯(lián)系完成的應(yīng)用的時(shí)候我跑去學(xué)單頁面應(yīng)用還很久掙扎在的思路當(dāng)中我想說的是走大多數(shù)人走的路的確是可以減少浪費(fèi)的時(shí)間和錯(cuò)誤的走少數(shù)人在的路當(dāng)然也刺激的我最近才明白原來前 老實(shí)說我不是第一次想歪了, 而且很慢, 總是不能很快抓住要點(diǎn). 當(dāng)別人用后端 MVC 從做博客做論壇, 聯(lián)系完成 MVC 的應(yīng)用的時(shí)候 我跑去學(xué)單...

    yibinnn 評論0 收藏0
  • 基于 Webpack 4 入口生成模板用于服務(wù)端渲染方案及實(shí)戰(zhàn)

    摘要:原作者原鏈接基于多入口生成模板用于服務(wù)端渲染的方案及實(shí)戰(zhàn)法律聲明警告本作品遵循署名非商業(yè)性使用禁止演繹未本地化版本協(xié)議發(fā)布。這是什么背景現(xiàn)代化的前端項(xiàng)目中很多都使用了客戶端渲染的單頁面應(yīng)用。 原作者:@LinuxerPHL原鏈接:基于 Webpack 4 多入口生成模板用于服務(wù)端渲染的方案及實(shí)戰(zhàn) 法律聲明 警告:本作品遵循 署名-非商業(yè)性使用-禁止演繹3.0 未本地化版本(CC BY-...

    big_cat 評論0 收藏0
  • 基于 Webpack 4 入口生成模板用于服務(wù)端渲染方案及實(shí)戰(zhàn)

    摘要:原作者原博文地址基于多入口生成模板用于服務(wù)端渲染的方案及實(shí)戰(zhàn)法律聲明警告本作品遵循署名非商業(yè)性使用禁止演繹未本地化版本協(xié)議發(fā)布。這是什么背景現(xiàn)代化的前端項(xiàng)目中很多都使用了客戶端渲染的單頁面應(yīng)用。 原作者:@LinuxerPHL原博文地址: 基于 Webpack 4 多入口生成模板用于服務(wù)端渲染的方案及實(shí)戰(zhàn) 法律聲明 警告:本作品遵循 署名-非商業(yè)性使用-禁止演繹3.0 未本地化版本(...

    Lavender 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<