以前的項(xiàng)目經(jīng)歷中,基本上都是spring + hibernate + Spring JDBC這種組合用的多。至于MyBatis,也就這個項(xiàng)目才開始試用,閑話不多說,進(jìn)入正題。
站在用戶的角度思考問題,與客戶深入溝通,找到虞城網(wǎng)站設(shè)計與虞城網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋虞城地區(qū)。以前的這種框架組合中,動態(tài)數(shù)據(jù)源切換可謂已經(jīng)非常成熟了,網(wǎng)上也有非常多的博客介紹,都是繼承AbstractRoutingDataSource,重寫determineCurrentLookupKey()方法。具體做法就不在此廢話了。
所以當(dāng)項(xiàng)目中碰到這個問題,我?guī)缀跸攵紱]有想,就采用了這種做法,但是一測試,一點(diǎn)反應(yīng)都沒有。當(dāng)時覺得不可能,于是斷點(diǎn),加log調(diào)試,發(fā)現(xiàn)determineCurrentLookupKey()根本沒有調(diào)用。
為什么列? 這不可能啊。靜下心來,仔細(xì)想想,才想到一個關(guān)鍵的問題: Mybatis整合Spring,而不是Spring整合的Mybatis! 直覺告訴我,問題就出在這里。
于是花時間去研究一下mybatis-spring.jar 這個包,發(fā)現(xiàn)有SqlSession這東西,很本能的就注意到了這一塊,然后大致看一下他的一些實(shí)現(xiàn)類。于是就發(fā)現(xiàn)了他的實(shí)現(xiàn)類里面有一個內(nèi)部類SqlSessionInterceptor(研究過程就不多說了,畢竟是個痛苦的過程)
好吧,這個類的作用列,就是產(chǎn)生sessionProxy。關(guān)鍵代碼如下
final SqlSession sqlSession = getSqlSession( SqlSessionTemplate.this.sqlSessionFactory, SqlSessionTemplate.this.executorType, SqlSessionTemplate.this.exceptionTranslator);
新聞名稱:關(guān)于Spring3+Mybatis3整合時多數(shù)據(jù)源動態(tài)切換的問題-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://aaarwkj.com/article26/dpjpjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)站設(shè)計公司、網(wǎng)站策劃、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容