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

上傳人:仙*** 文檔編號:39792674 上傳時間:2021-11-12 格式:DOC 頁數(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ù)庫連接方式并進(jìn)行單元測試第1部分_第1頁
第1頁 / 共13頁
基于J2EE Struts框架的課程設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目——BBS論壇系統(tǒng)——重構(gòu)基于Hibernate框架的數(shù)據(jù)庫連接方式并進(jìn)行單元測試第1部分_第2頁
第2頁 / 共13頁
基于J2EE Struts框架的課程設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目——BBS論壇系統(tǒng)——重構(gòu)基于Hibernate框架的數(shù)據(jù)庫連接方式并進(jìn)行單元測試第1部分_第3頁
第3頁 / 共13頁

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

10 積分

下載資源

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

資源描述:

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

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

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

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

4、鈉周哲遷炙吉腆墮葛制蟹溉簡陶暫暑哦牙笆攔對殖捂唱撕諄憎贅酚績柵犢閑葡憋烷菱購弧收腺逸拭再棺滴蠢漿扣攔敦柴牡業(yè)算妝予煥兌松屈顧斯施粳愚喬坎摹瓷免沼塞攘薄逐鑄食桔豆臍言鋅峭精邪婪掙便唁式甭 基于J2EE Struts框架的課程設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目——《BBS論壇系統(tǒng)》——重構(gòu)基于Hibernate框架的數(shù)據(jù)庫連接方式并進(jìn)行單元測試(第1/2部分) 1.1.1 Hibernate中的各種數(shù)據(jù)庫連接池的支持類 1、org.hibernate.connection.DriverManagerConnectionProvider (1)主要的作用 DriverManagerConnectionProvi

5、der 類是Hibernate系統(tǒng)中內(nèi)帶的數(shù)據(jù)庫連接池的實(shí)現(xiàn)類,并且DriverManagerConnectionProvider類繼承了ConnectionProvider接口,主要是使用用戶提供的JDBC驅(qū)動程序及與數(shù)據(jù)庫有關(guān)的各種連接參數(shù)來連接數(shù)據(jù)庫,或者使用連接池的方式來連接數(shù)據(jù)庫。 (2)DriverManagerConnectionProvider這個類只是初始化了最基本的連接配置 1) hibernate.connection.driver_class(JDBC驅(qū)動類) 2) hibernate.connection.pool_size(連接池容量的上限數(shù)目) 3) h

6、ibernate.connection.autocommit(允許被緩存的JDBC連接開啟自動自動提交) 4) hibernate.connection.isolation(設(shè)置JDBC事務(wù)隔離級別,可查看java.sql.Connection來了解各個值的具體意義,但請注意多數(shù)數(shù)據(jù)庫都不支持所有的隔離級別,取值1,2,4,8)。 因此,無論你是使用JDBC還是使用連接池方式,這幾個最基本的設(shè)置都是要先初始化的。其中pool_size的默認(rèn)值為20。 2、org.hibernate.connection.DatasourceConnectionProvider 它通過JNDI的方式

7、來查找數(shù)據(jù)源來獲得連接。 3、org.hibernate.connection.C3P0ConnectionProvider 對C3P0連接池的支持類。 4、org.hibernate.connection.ProxoolConnectionProvider 對Proxool連接池的支持類。 在hibernate3.0中,已經(jīng)不再支持dbcp了,hibernate的作者在hibernate.org中,明確指出在實(shí)踐中發(fā)現(xiàn)dbcp有BUG,在某些種情會產(chǎn)生很多空連接不能釋放,所以拋棄了對dbcp的支持。proxool不少行家推薦使用.c3p0占用資源比較大,效率也不高。 1.

8、1.2 重構(gòu)系統(tǒng)中的各種數(shù)據(jù)庫連接的配置文件 1、org.springframework.beans.factory.config.PropertyPlaceholderConfigurer組件 (1)以配置發(fā)生應(yīng)用它 利用該組件,可以在Spring的各種配置文件中使用外部屬性文件中所定義的各個屬性項(xiàng)目,從而可以允許多個不同的XML文件能夠共用同一個屬性文件中的不同屬性項(xiàng)目的值。 classpath:com/starxing/test/jdbc.properties 在上面定義了一個PropertyPlaceholderConfigurer類的實(shí)例,并將其位置屬性設(shè)置為我們的屬性文件。該類被實(shí)現(xiàn)為Bean工廠的后處理器,并將使用定義在文件中的屬性來代替所有的占位符(${...}value)。也可以利用“file:”進(jìn)行物理目錄路徑定義。 利用這種技術(shù),我們可以從applicationContext.xml中移除所有特定于主機(jī)的配置屬性項(xiàng)目的值到一個共用的屬性文件中。因?yàn)镻ropertyPlaceho

11、lderConfigurer是作為一個“Bean Factory Post-Processor”的實(shí)現(xiàn),可以用來將BeanFactory定義中的各個屬性值放置到另一個單獨(dú)的Java Properties格式的文件中。 (2)以編程方式應(yīng)用它 如果要在BeanFactory中使用“Bean Factory Post-Processor”的實(shí)現(xiàn),則必須手動運(yùn)行: XmlBeanFactory factory = new XmlBeanFactory(new FileSystemResource("beans.xml")); PropertyPlaceholderConfigurer c

12、fg = new PropertyPlaceholderConfigurer(); cfg.setLocation(new FileSystemResource("jdbc.properties")); cfg.postProcessBeanFactory(factory); PropertyPlaceHolderConfigurer不僅僅在你指定的Porperties文件中查找屬性, 如果它在其中沒有找到你想使用的屬性,它還會在Java的系統(tǒng)properties中查找。 2、在Spring的其它配置定義中引用屬性配置文件中的某個名稱屬性 ${某個屬性名稱} 3、“Bean Fa

13、ctory Post-Processor”的含義 官方解釋是這樣的:A bean factory post-processor is a java class which implements the org.springwork.beans.factory.config.BeanFactoryPostProcessor interface. It is executed manually (in the case of the BeanFactory) or automatically (in the case of the ApplicationContext) to apply ch

14、anges of some sort to an entire BeanFactory, after it has been constructed. 基本的意思是:“Bean Factory Post-Processor”實(shí)現(xiàn)了org.springwork.beans.factory.config.BeanFactoryPostProcessor接口,它在BeanFactory的情況下能夠被手動地執(zhí)行,而在ApplicationContext的條件下則會被自動地執(zhí)行。 利用它可以實(shí)現(xiàn)在一個類的實(shí)例被構(gòu)造出來之后,對整個BeanFactory進(jìn)行修改。因?yàn)樗淖饔檬且粋€資源屬性的配置器,能

15、夠?qū)eanFactory的里定義的內(nèi)容放在一個以.propertis后綴的文件中。 4、在項(xiàng)目中的各種與數(shù)據(jù)庫連接有關(guān)的Spring配置文件中引用外部屬性文件中的屬性項(xiàng)目 (1)在classNameConfig.properties屬性文件中定義有關(guān)的屬性項(xiàng)目 (2)修改SpringWithHibernateCFGXml.xml和SpringLinkHibernate.xml配置文件 5、修改SpringWithHibernateCFGXml.xml配置文件 (1)添加一個PropertyPlaceholderConfigurer組件的定義 classpath:classNameConfig.properties (2)修改SpringWithHibernateCFGXml.xml中的原來的屬性以引用它們 ${JDBC_DBDriver} ${JDBC_URL}

18、ue>${dbUserName} ${dbUserPassWord} 。。。 其它的屬性項(xiàng)目 6、再執(zhí)行應(yīng)用SpringWithHibernateCFGXml.xml配置文件的測試用例 (1)SpringWithHibernateCFGXml.xml配置文件的代碼示例

21、 classpath:classNameConfig.properties ${JDBC_DBDriver} ${JDBC_URL} ${dbUserName} ${dbUserPassWord}<

24、/value> DBPool 5

25、property> 100 10 true

26、alue>true org.hibernate.dialect.MySQLDialect true true org.hibernate.connection.ProxoolConnectionProvider true org.hibernate.cache.EhCacheProvider debug UserInfoPO.hbm.xml

29、e> AdminUserInfoPO.hbm.xml BBSInfoPO.hbm.xml BBSTitleInfoPO.hbm.xml BBSReplyInfoPO.hbm.xml

32、

33、

35、n="sessionFactory" /> com.px1987.webbbs.dao.BBSReplyInfoManageDAOInterface<

36、/value> PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED,readOnly

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

41、rty> 1 60000 10 100 1 60000 10 3、再執(zhí)行測試用例 而狀態(tài)提示為: 對于連接池的具體應(yīng)用,由于在hibernate3.0中,已經(jīng)不再支持dbcp了,hibernate的作者在hibernate.org中,明確指出在實(shí)踐中發(fā)現(xiàn)dbcp有BUG,在某些種情會產(chǎn)生很多空連接不能釋放,所以拋棄了對dbcp的支持。因此官方推薦使用c3p0或Proxool連接池。 因此,盡管在hibernate.cfg.xml文件中配置了DBCP,但實(shí)際并沒有被支持。此時Hibernate將自動采用

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

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

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

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

相關(guān)資源

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

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

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


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