欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring動態(tài)多數(shù)據(jù)源配置實例Demo

 更新時間:2017年01月07日 16:29:57   作者:wangpeng047  
本篇文章主要介紹了Spring動態(tài)多數(shù)據(jù)源配置實例Demo,具有一定的參考價值,有興趣的可以了解一下。

最近由于咨詢spring如何配置多數(shù)據(jù)源的人很多,一一回答又比較麻煩,而且以前的博文中的配置也是有問題,因此特此重新發(fā)布一個Demo給大家。

Demo中共有兩個數(shù)據(jù)源,即MySQL和Oracle,并已經(jīng)進行簡單測試,動態(tài)切換數(shù)據(jù)源是沒有問題的,希望借此Demo能幫助到大家。

Demo下載地址:

Spring動態(tài)切換多數(shù)據(jù)源Demo:http://xiazai.jb51.net/201701/yuanma/dynamicDatasourceDemo_jb51.rar

另外我給些說明,闡述下多數(shù)據(jù)源配置時的重點:

1. 注意事務(wù)攔截器的配置

這是首要的一條。首先你要明白,Spring的事務(wù)管理是與數(shù)據(jù)源綁定的,一旦程序執(zhí)行到事務(wù)管理的那一層(如service)的話,由于在進入該層之前事務(wù)已經(jīng)通過攔截器開啟,因此在該層切換數(shù)據(jù)源是不行的,明白事務(wù)的原理是尤為重要的,我之前的文章中,將切換數(shù)據(jù)源的攔截器配置在了Dao層是有問題的(因為是示例,所以粗心了,對誤導了大家我表示道歉),但提供的思路是沒有問題的。

Demo中將切換數(shù)據(jù)源的攔截器(dataSourceInterceptor)配置在了事務(wù)攔截器(txadvice)的上一層,也就是Controller層。

2. 注意數(shù)據(jù)庫表的創(chuàng)建

一些人喜歡用hibernate的自動創(chuàng)建表的功能,但需要注意,在多數(shù)據(jù)源中,尤其是不同數(shù)據(jù)庫的多數(shù)據(jù)源,想都自動建表是不行的。因為Hibernate自動建表是在項目啟動時觸發(fā)的,因此只會建立項目配置的默認數(shù)據(jù)源的表,而其他數(shù)據(jù)源的表則不會自動創(chuàng)建。大家要注意著點。

3. Hibernate的數(shù)據(jù)庫方言(dialect)可以忽略

在多數(shù)據(jù)源時,方言的設(shè)置可以忽略,Hibernate在使用時會自動識別不同的數(shù)據(jù)庫,因此不必糾結(jié)這個配置,甚至不配置也可以。

4. 報No current session錯誤

這個是因為使用了sessionFactory.getCurrentSession()導致的,current session是與線程綁定的,一個線程只會開啟一個Session(除非使用openSession()就不會報錯),因此需要設(shè)置session與線程的綁定關(guān)系。
Demo中使用了Spring管理Hibernate的session,因此在web.xml中配置了OpenSessionInViewFilter,并在hibernate.cfg.xml中配置了current_session_context_class?!綪S:使用Spring管理Hibernate時,可以去掉hibernate.cfg.xml,而全部配置的Spring的配置文件里,即hibernateProperties。看個人喜好吧】

最后,Demo中簡單集成了一些框架,方便大家拿來就用,算是送給大家的福利,關(guān)于那些框架的配置和技術(shù),這里就不再闡述了。想要了解的可以看一下地址:

spring多數(shù)據(jù)源配置:http://www.dbjr.com.cn/article/102282.htm

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 正則表達式入門詳解(基礎(chǔ)進階)

    Java 正則表達式入門詳解(基礎(chǔ)進階)

    最近看到很多同學想要學習java正則表達式的一些知識,那么腳本之家小編就為大家介紹一下,其實正則表達式實用性很強,處理大幅文字的時候都需要用得到,語法也大同小異
    2017-10-10
  • springboot實現(xiàn)rabbitmq消息確認的示例代碼

    springboot實現(xiàn)rabbitmq消息確認的示例代碼

    RabbitMQ的消息確認有兩種, 一種是消息發(fā)送確認,第二種是消費接收確認,本文主要介紹了springboot實現(xiàn)rabbitmq消息確認的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • Spring IOC 三種配置方式詳解

    Spring IOC 三種配置方式詳解

    這篇文章主要介紹了Spring IOC 三種配置方式,基于xml配置方式組件管理,基于注解方式管理和配置類方式管理,這三種方式,通過圖文講解的非常詳細,需要的朋友可以參考下
    2024-05-05
  • java常見的字符串操作和日期操作匯總

    java常見的字符串操作和日期操作匯總

    本文主要對java 常見的字符串操作和日期操作進行整理。具有一定的參考價值,需要的朋友一起來看下吧
    2016-12-12
  • 淺談java中為什么重寫equals后需要重寫hashCode

    淺談java中為什么重寫equals后需要重寫hashCode

    今天帶各位學習一下java中為什么重寫equals后需要重寫hashCode,文中有非常詳細的圖文介紹及代碼示例,對正在學習java的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Spring如何替換掉默認common-logging.jar

    Spring如何替換掉默認common-logging.jar

    這篇文章主要介紹了Spring如何替換掉默認common-logging.jar,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • SpringBoot+MyBatisPlus中樂觀鎖的實現(xiàn)示例

    SpringBoot+MyBatisPlus中樂觀鎖的實現(xiàn)示例

    樂觀鎖是一種用于解決并發(fā)沖突的機制,在數(shù)據(jù)庫中用于保護數(shù)據(jù)的一致性,本文主要介紹了SpringBoot+MyBatisPlus中樂觀鎖的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • 關(guān)于easyExcel中讀取Excel表頭的實例說明

    關(guān)于easyExcel中讀取Excel表頭的實例說明

    EasyExcel是阿里巴巴開源的一個excel處理框架,以使用簡單、節(jié)省內(nèi)存著稱,下面這篇文章主要給大家介紹了關(guān)于easyExcel中讀取Excel表頭的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • Java實現(xiàn)對一行英文進行單詞提取功能示例

    Java實現(xiàn)對一行英文進行單詞提取功能示例

    這篇文章主要介紹了Java實現(xiàn)對一行英文進行單詞提取功能,結(jié)合實例形式分析了java基于StringTokenizer類進行字符串分割的相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • 詳解jeefast和Mybatis實現(xiàn)二級聯(lián)動的問題

    詳解jeefast和Mybatis實現(xiàn)二級聯(lián)動的問題

    這篇文章主要介紹了詳解jeefast和Mybatis實現(xiàn)二級聯(lián)動的問題,本文通過圖文實例相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10

最新評論