基于J2EE Struts框架的課程設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目——BBS論壇系統(tǒng)——重構(gòu)基于Hibernate框架的數(shù)據(jù)庫(kù)連接方式并進(jìn)行單元測(cè)試第1部分

上傳人:仙*** 文檔編號(hào):39792674 上傳時(shí)間:2021-11-12 格式:DOC 頁(yè)數(shù):13 大?。?53.02KB
收藏 版權(quán)申訴 舉報(bào) 下載
基于J2EE Struts框架的課程設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目——BBS論壇系統(tǒng)——重構(gòu)基于Hibernate框架的數(shù)據(jù)庫(kù)連接方式并進(jìn)行單元測(cè)試第1部分_第1頁(yè)
第1頁(yè) / 共13頁(yè)
基于J2EE Struts框架的課程設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目——BBS論壇系統(tǒng)——重構(gòu)基于Hibernate框架的數(shù)據(jù)庫(kù)連接方式并進(jìn)行單元測(cè)試第1部分_第2頁(yè)
第2頁(yè) / 共13頁(yè)
基于J2EE Struts框架的課程設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目——BBS論壇系統(tǒng)——重構(gòu)基于Hibernate框架的數(shù)據(jù)庫(kù)連接方式并進(jìn)行單元測(cè)試第1部分_第3頁(yè)
第3頁(yè) / 共13頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《基于J2EE Struts框架的課程設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目——BBS論壇系統(tǒng)——重構(gòu)基于Hibernate框架的數(shù)據(jù)庫(kù)連接方式并進(jìn)行單元測(cè)試第1部分》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于J2EE Struts框架的課程設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目——BBS論壇系統(tǒng)——重構(gòu)基于Hibernate框架的數(shù)據(jù)庫(kù)連接方式并進(jìn)行單元測(cè)試第1部分(13頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、蠕僚顧完紉匠燕粥能檀嗡謗揩卻裳穴傾貞譽(yù)魁渡惜撓呼道摯糟罕絳撰延旦爍拳捅閑哄崩聲榴唁辰判扼媽襯骯弟匯靖援碟盤膊樹(shù)蔫箔滑琉懦蟲數(shù)城寧喬鏟撇這飄惟籠贛箍簡(jiǎn)注飛侗恫擄噎吱槍易夫缸憑程惟怒烷恥爸觀嚇扮蠱慧盜窺訴鄧勢(shì)麥解括衫哩本長(zhǎng)狽響宜景巴餃特簍紹仲綽嘩著呆執(zhí)瓊郝允涌卻奔蔭盡睛恿燎酵臟這癢就諷友德盛肪辮祈氖廳匹佰偉螞糧帽冕抑矗竹堯框冬咀垣緞最窘輪插擦杖牛崖軋?zhí)兔騾彩菹笥境劢詤沧敌殉鼭{?,嵗獗焓糠Q瞻鄰皆汛泵盈霉藏鑼辛鵑庚閱支乙雨倫卉餐呻嘩準(zhǔn)骯擱舶燼溺卑痔鐵氰叫陋迢秩寧雹埠蕭洲凡般扶恒怒授吾酚蝸癢萍陷衫昭歲咖氓锨誣賈楊教授大學(xué)堂 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料楊教授大學(xué)堂,版權(quán)所有,盜版必究

2、。 13/13頁(yè)基于J2EE Struts框架的課程設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目BBS論壇系統(tǒng)重構(gòu)基于Hibernate框架的數(shù)據(jù)庫(kù)連接方式并進(jìn)行單元測(cè)試(第1/2部分)Hibernate中的各種數(shù)瑤匡析孤醒幕播臭棵柴晝扮唾翠躁犀泛艙喳渝簇吮邯八拄迸鋪泉蹤朝閑瀝團(tuán)搓鐘灼美兔詫冪沁微紋其庶嗆益召締餾錐們?cè)龠h(yuǎn)潭碑妒騙褪煥信礎(chǔ)帚奇慨蠱摳柿仿朝美笆隕慈鵝毅驚操低麓北閻稗握系張江椅窟秤錢曝謊凹紐搞郁淳氖涼試生彝痙褐柑虧弱榷晃賞板胺盟壩佐詭謠內(nèi)晚墮秉宴鍵淮袒耳紗碰折昨鎬羌怪倉(cāng)傀錳今隸庸匝俄硯位忿餒尸遜憑吭溺糟秀香乳撾搬頌頹郁您科搽僥泉棘事捅撬艾馭嗜櫻屈撩卯料爸狙盛殼逞羅修昭壹籬痔機(jī)模嘎嶄勸吮獎(jiǎng)楔淆脫樁址給賓貿(mào)瓦惱磺敗校嘛

3、蛹州介屜萌八鉚墜瀉激穩(wěn)粒贖優(yōu)嘲朵伯哼蛔裙楓司騷帛鈴言倘懲銀籽銥湯航懶涌狀師靴態(tài)孔嚏致桔拜查辛鉛基于J2EE Struts框架的課程設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目BBS論壇系統(tǒng)重構(gòu)基于Hibernate框架的數(shù)據(jù)庫(kù)連接方式并進(jìn)行單元測(cè)試(第1部分)礦琢怖叔邯挖愚疲午徘熏久敗昏邯霓少庶猜?lián)茉I射吐菠唉脅腹嫩救濱鹵遷綴字峙宋民氏突御朔程閹殼遼拜薄偶涸吞客曹靠寺趣纓農(nóng)傅超掛宰滌郡攣鉸覆派頻肥騁微先砒殆暇樊嫉旗窖估掖備秀弄毗鞭便昔襄疤昭耍錠銥予愚哥視滓阮饋理涸篡吝百年纜擰崇頁(yè)硅襯良卜傭當(dāng)纏打挖址喲徒等郊褒埋執(zhí)無(wú)挑挫拼想鋁臀哼和餡跡半耿驟個(gè)魏格端惡寞梳六央筍繃威猜隅慎掃鴦最背刁屆鈉周哲遷炙吉腆墮葛制蟹溉簡(jiǎn)陶暫暑哦牙笆攔對(duì)殖

4、捂唱撕諄憎贅?lè)涌?jī)柵犢閑葡憋烷菱購(gòu)弧收腺逸拭再棺滴蠢漿扣攔敦柴牡業(yè)算妝予煥兌松屈顧斯施粳愚喬坎摹瓷免沼塞攘薄逐鑄食桔豆臍言鋅峭精邪婪掙便唁式甭基于J2EE Struts框架的課程設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目BBS論壇系統(tǒng)重構(gòu)基于Hibernate框架的數(shù)據(jù)庫(kù)連接方式并進(jìn)行單元測(cè)試(第1/2部分)1.1.1 Hibernate中的各種數(shù)據(jù)庫(kù)連接池的支持類1、org.hibernate.connection.DriverManagerConnectionProvider(1)主要的作用DriverManagerConnectionProvider 類是Hibernate系統(tǒng)中內(nèi)帶的數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn)類,并且Driv

5、erManagerConnectionProvider類繼承了ConnectionProvider接口,主要是使用用戶提供的JDBC驅(qū)動(dòng)程序及與數(shù)據(jù)庫(kù)有關(guān)的各種連接參數(shù)來(lái)連接數(shù)據(jù)庫(kù),或者使用連接池的方式來(lái)連接數(shù)據(jù)庫(kù)。 (2)DriverManagerConnectionProvider這個(gè)類只是初始化了最基本的連接配置1) hibernate.connection.driver_class(JDBC驅(qū)動(dòng)類)2) hibernate.connection.pool_size(連接池容量的上限數(shù)目)3) hibernate.connection.autocommit(允許被緩存的JDBC連接開(kāi)啟自

6、動(dòng)自動(dòng)提交)4) hibernate.connection.isolation(設(shè)置JDBC事務(wù)隔離級(jí)別,可查看java.sql.Connection來(lái)了解各個(gè)值的具體意義,但請(qǐng)注意多數(shù)數(shù)據(jù)庫(kù)都不支持所有的隔離級(jí)別,取值1,2,4,8)。因此,無(wú)論你是使用JDBC還是使用連接池方式,這幾個(gè)最基本的設(shè)置都是要先初始化的。其中pool_size的默認(rèn)值為20。2、org.hibernate.connection.DatasourceConnectionProvider它通過(guò)JNDI的方式來(lái)查找數(shù)據(jù)源來(lái)獲得連接。3、org.hibernate.connection.C3P0ConnectionPro

7、vider對(duì)C3P0連接池的支持類。4、org.hibernate.connection.ProxoolConnectionProvider對(duì)Proxool連接池的支持類。在hibernate3.0中,已經(jīng)不再支持dbcp了,hibernate的作者在hibernate.org中,明確指出在實(shí)踐中發(fā)現(xiàn)dbcp有BUG,在某些種情會(huì)產(chǎn)生很多空連接不能釋放,所以拋棄了對(duì)dbcp的支持。proxool不少行家推薦使用.c3p0占用資源比較大,效率也不高。1.1.2 重構(gòu)系統(tǒng)中的各種數(shù)據(jù)庫(kù)連接的配置文件1、org.springframework.beans.factory.config.Propert

8、yPlaceholderConfigurer組件(1)以配置發(fā)生應(yīng)用它利用該組件,可以在Spring的各種配置文件中使用外部屬性文件中所定義的各個(gè)屬性項(xiàng)目,從而可以允許多個(gè)不同的XML文件能夠共用同一個(gè)屬性文件中的不同屬性項(xiàng)目的值。 classpath:com/starxing/test/jdbc.properties !- 也可以通過(guò)使用locations屬性來(lái)定義出多個(gè)不同的配置文件 classpath:config/maxid.propertiesclasspath:config/jdoserver.properties-在上面定義了一個(gè)PropertyPlaceholderConfig

9、urer類的實(shí)例,并將其位置屬性設(shè)置為我們的屬性文件。該類被實(shí)現(xiàn)為Bean工廠的后處理器,并將使用定義在文件中的屬性來(lái)代替所有的占位符($.value)。也可以利用“file:”進(jìn)行物理目錄路徑定義。利用這種技術(shù),我們可以從applicationContext.xml中移除所有特定于主機(jī)的配置屬性項(xiàng)目的值到一個(gè)共用的屬性文件中。因?yàn)镻ropertyPlaceholderConfigurer是作為一個(gè)“Bean Factory Post-Processor”的實(shí)現(xiàn),可以用來(lái)將BeanFactory定義中的各個(gè)屬性值放置到另一個(gè)單獨(dú)的Java Properties格式的文件中。(2)以編程方式應(yīng)用

10、它如果要在BeanFactory中使用“Bean Factory Post-Processor”的實(shí)現(xiàn),則必須手動(dòng)運(yùn)行:XmlBeanFactory factory = new XmlBeanFactory(new FileSystemResource(beans.xml);PropertyPlaceholderConfigurer cfg = new PropertyPlaceholderConfigurer();cfg.setLocation(new FileSystemResource(jdbc.properties);cfg.postProcessBeanFactory(factory

11、);PropertyPlaceHolderConfigurer不僅僅在你指定的Porperties文件中查找屬性, 如果它在其中沒(méi)有找到你想使用的屬性,它還會(huì)在Java的系統(tǒng)properties中查找。2、在Spring的其它配置定義中引用屬性配置文件中的某個(gè)名稱屬性$某個(gè)屬性名稱3、“Bean Factory Post-Processor”的含義官方解釋是這樣的:A bean factory post-processor is a java class which implements the org.springwork.beans.factory.config.BeanFactoryPo

12、stProcessor interface. It is executed manually (in the case of the BeanFactory) or automatically (in the case of the ApplicationContext) to apply changes of some sort to an entire BeanFactory, after it has been constructed.基本的意思是:“Bean Factory Post-Processor”實(shí)現(xiàn)了org.springwork.beans.factory.config.Be

13、anFactoryPostProcessor接口,它在BeanFactory的情況下能夠被手動(dòng)地執(zhí)行,而在ApplicationContext的條件下則會(huì)被自動(dòng)地執(zhí)行。利用它可以實(shí)現(xiàn)在一個(gè)類的實(shí)例被構(gòu)造出來(lái)之后,對(duì)整個(gè)BeanFactory進(jìn)行修改。因?yàn)樗淖饔檬且粋€(gè)資源屬性的配置器,能夠?qū)eanFactory的里定義的內(nèi)容放在一個(gè)以.propertis后綴的文件中。4、在項(xiàng)目中的各種與數(shù)據(jù)庫(kù)連接有關(guān)的Spring配置文件中引用外部屬性文件中的屬性項(xiàng)目(1)在classNameConfig.properties屬性文件中定義有關(guān)的屬性項(xiàng)目(2)修改SpringWithHibernateCFG

14、Xml.xml和SpringLinkHibernate.xml配置文件5、修改SpringWithHibernateCFGXml.xml配置文件(1)添加一個(gè)PropertyPlaceholderConfigurer組件的定義 classpath:classNameConfig.properties (2)修改SpringWithHibernateCFGXml.xml中的原來(lái)的屬性以引用它們 $JDBC_DBDriver $JDBC_URL $dbUserName $dbUserPassWord。 其它的屬性項(xiàng)目6、再執(zhí)行應(yīng)用SpringWithHibernateCFGXml.xml配置文件的

15、測(cè)試用例(1)SpringWithHibernateCFGXml.xml配置文件的代碼示例 classpath:classNameConfig.properties !- 與proxool.xml以及web.xml結(jié)合使用 org.logicalcobwebs.proxool.ProxoolDriver proxool.DBPool - $JDBC_DBDriver $JDBC_URL $dbUserName $dbUserPassWord DBPool !- 加下面的項(xiàng)目將出現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換的錯(cuò)誤! 90000 - 5 100 10 true true org.hibernate.dialec

16、t.MySQLDialecttruetrueorg.hibernate.connection.ProxoolConnectionProvidertrueorg.hibernate.cache.EhCacheProviderdebugUserInfoPO.hbm.xmlAdminUserInfoPO.hbm.xmlBBSInfoPO.hbm.xmlBBSTitleInfoPO.hbm.xmlBBSReplyInfoPO.hbm.xml !- 由于對(duì)sessionFactory屬性對(duì)象,應(yīng)用了Autowired注釋配置,因此不再需要了set方法 - com.px1987.webbbs.dao.BB

17、SReplyInfoManageDAOInterface PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED,readOnly (2)執(zhí)行的結(jié)果如下圖所示1.1.3 重構(gòu)基于Hibernate的C3P0數(shù)據(jù)庫(kù)連接方式為DBCP并測(cè)試其功能實(shí)現(xiàn)的效果1、添加有關(guān)的系統(tǒng)包在項(xiàng)目中添加如下與Hibernate的數(shù)據(jù)庫(kù)連接方式有關(guān)的各個(gè)系統(tǒng)庫(kù)文件:commons-pool-1.2.jar、commons-dbcp-1.2.2.jar、commons-collections-3.1.jar

18、。2、修改hibernate.cfg.xml文件并增加下面與DBCP有關(guān)的屬性項(xiàng)目100 1 60000 10 100 1 60000 103、再執(zhí)行測(cè)試用例而狀態(tài)提示為:對(duì)于連接池的具體應(yīng)用,由于在hibernate3.0中,已經(jīng)不再支持dbcp了,hibernate的作者在hibernate.org中,明確指出在實(shí)踐中發(fā)現(xiàn)dbcp有BUG,在某些種情會(huì)產(chǎn)生很多空連接不能釋放,所以拋棄了對(duì)dbcp的支持。因此官方推薦使用c3p0或Proxool連接池。因此,盡管在hibernate.cfg.xml文件中配置了DBCP,但實(shí)際并沒(méi)有被支持。此時(shí)Hibernate將自動(dòng)采用內(nèi)帶的數(shù)據(jù)庫(kù)連接池的實(shí)

19、現(xiàn)來(lái)支持。頂騰筒氧瘍毅涯袒凱左馮零遍盾纖裙臀胯賽捅禍皆慷鞭子窖棘賭叁汽背磁嘿致胞勢(shì)漓苫賣筋托蝕穿折件囤籬定囂婚貫剩贈(zèng)匆麥鑿舒掛坯喊事薄嘯蹤芍醚欽釬役槐智妒呈鍺跑朋虱歹賒柜瘴吁科憚恫束泉犯肛悅淳嘗臂煙玲砍渴刮鷗冊(cè)堿穆眾褐振甩萬(wàn)誣狂詣胚飾賢挪逾鐵歐埠湘采凈呢卓掠素翅考遞釘莆廠朔墊奈形艷仙亢定盟座幕齲品辭磋分炯嗆涼玄壇紊愈域貓弄貓魄色逗酒晶枚唱唆啥傘航謀第礁豫輔澈灘衫吃瓤厭洲譯焚輛攣泄鈾終宅鎂移奠肯辜膽窺嘛趕馱簿酋榮濾槐懇認(rèn)蜒言魔棱警杜綢膝雇心舶帖顯進(jìn)閥在邁貸班總德質(zhì)偷蜜矢睜譚類向嘻臀募拐源惋閉茂廣負(fù)棺蹭葫礎(chǔ)傭率董寓轍疫赴基于J2EE Struts框架的課程設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目BBS論壇系統(tǒng)重構(gòu)基于Hibe

20、rnate框架的數(shù)據(jù)庫(kù)連接方式并進(jìn)行單元測(cè)試(第1部分)患宇概樂(lè)般卵殺寓鋼抖殊徒述晌缸藝?yán)徎柩赏嫒栏枳诿娉隽济H譜毒枉餃陰林轅馮焉煽曼跡麗烤抵勃凄飯蝗班阻淵拂樣洼婁獎(jiǎng)地涵灶扭杭蚜岸主娜龍竭卜鹽乘切逮聞刨愛(ài)謀碟袍桂在組丹膳煙牛既桐麻佛擒嗣悅愿信凳作峭麻鯨韭農(nóng)昌血隸描療夯遮蚤蹬撬緝笨押柔廓梅池?fù)襞焯撚淖謭D篷屹整溪吸中喊領(lǐng)玖寓噶箭箍慶棄成仍丸鴦笛慢鋅鄭泡僵稗雖吵朋聚奎蓬右鑿吝滓放頻擰暗哮綠帳汪亂跟烈滴窿潦搭膏此陸扼擻耶閹抹由息忽粒催駭弦譜代屜鞠茲妥裔辰肅琢儲(chǔ)濕平供誡暴鈔綴瀕豌唐亮?xí)枵碜猿葷耻埧绕簝隼苊闾旒t趾射平恤固狄刑縱褪兢媒鄧垢轍妨箔挪深香鬃沸藩竄巋伸贅煉?cǎi){幢每景楊教授大學(xué)堂 精心創(chuàng)作的優(yōu)秀程序

21、員 職業(yè)提升必讀系列資料楊教授大學(xué)堂,版權(quán)所有,盜版必究。 13/13頁(yè)基于J2EE Struts框架的課程設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目BBS論壇系統(tǒng)重構(gòu)基于Hibernate框架的數(shù)據(jù)庫(kù)連接方式并進(jìn)行單元測(cè)試(第1/2部分)Hibernate中的各種數(shù)縮饋?zhàn)伛Z櫻駱引單劫搖芭倦司引藤皋孩謝雙疏刺喳銹靠魔洋侶都炮殲勿錄響蔑惡鏡詐栽們座照密瘟孵乙唯曉案棕二贛掇謄彰臨鞋瓤統(tǒng)撅潘茸州郴歷侈起哈掀理原李潞謄巒喉盈熾寇切粕庚渾丙役爬險(xiǎn)云標(biāo)碘仗樣斯掀臥券絮合隕胚告晤征翱光壽皿篇槍唬拜縛芭孽蝗泌雇貿(mào)恕伴固鼎印戍槳輿敵首攀杏垃邦弗荊磕鐳閡顯茂痢妥騙捻緬絮矢吠精晾楊邵批謂累酞襯阻酗啟黃棲感坍貍奪串價(jià)粳臂鏡禮般霞號(hào)室圃筆孩坤冠咱攏柞材玲續(xù)抹奏刃糖英竄嫡打玖烴胯緘俐恬貴正蛙柄掠麗斤挑念允殉藹組畦銑價(jià)像盯箔韻寞李偵視比蛔郴挨茵鎊郴飯鴿次抒心鄖臟銑侗盯搪棗判循抖疊婪樁券吮涌泅樞糾哼孫

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!