www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]為了尋求更有效的數(shù)據(jù)存取方法,提出一種基于JDBC的高級數(shù)據(jù)存取框架,該框架旨在用于分離持久邏輯與業(yè)務(wù)邏輯。提高軟件開發(fā)效率。結(jié)合工程實際分析該框架的設(shè)計思想,詳細(xì)論述了該框架的實現(xiàn)與應(yīng)用。并給出進(jìn)一步實現(xiàn)內(nèi)容和基于DAO模式實現(xiàn)同類抽象框架的要點,結(jié)果表明基于JDBC的高級數(shù)據(jù)存取框架比傳統(tǒng)數(shù)據(jù)存取具有優(yōu)越的代碼復(fù)用,更易于實現(xiàn)。

1 引言
    Sun Java Center從結(jié)構(gòu)上將基于J2EE的設(shè)計模式分為表示層模式、業(yè)務(wù)層模式和集成層模式。針對J2EE的不同應(yīng)用,提出了分離表示層和業(yè)務(wù)層的模式和框架。而許多應(yīng)用系統(tǒng)設(shè)計都涉及數(shù)據(jù)庫或持久性數(shù)據(jù)存儲,無論是采用Java數(shù)據(jù)庫連接(Java Database connectivity,簡稱JDBC)還是某種實體組件,大多數(shù)應(yīng)用系統(tǒng)設(shè)計都將其直接用于集成層,這樣則混淆業(yè)務(wù)邏輯和數(shù)據(jù)存取,增加應(yīng)用開發(fā)的復(fù)雜性,降低開發(fā)效率,增大維護工作量。
    業(yè)務(wù)邏輯與具體應(yīng)用有關(guān),而與數(shù)據(jù)分布和存取方法無關(guān)。數(shù)據(jù)存取是持久性邏輯,其常規(guī)操作如創(chuàng)建、讀取、更新和刪除(Creatc,Read,Update,Delete,簡稱CRUD)與業(yè)務(wù)規(guī)則無關(guān)?;谏鲜鲇^點和提高復(fù)用性的考慮,這里提出一種基于JDBC的高級數(shù)據(jù)存取框架,該框架旨在用于分離持久邏輯與業(yè)務(wù)邏輯,即在應(yīng)用開發(fā)中提取數(shù)據(jù)存取邏輯,使其完全脫離業(yè)務(wù)邏輯,并封裝在獨立的框架中,再以統(tǒng)一接口支持業(yè)務(wù)邏輯,從而提高軟件開發(fā)效率。

2 高級數(shù)據(jù)存取框架設(shè)計
   
采用會話外觀(Session Facade,簡稱SF)模式實現(xiàn)業(yè)務(wù)邏輯與持久性邏輯的關(guān)聯(lián)。會話外觀模式主要用于處理集中的工作流,為表示層提供統(tǒng)一、粗粒度的對象訪問。
    實體組件可提供一種特殊的數(shù)據(jù)處理方法,但無標(biāo)準(zhǔn)Java接口,缺乏靈活性。因此會話組件利用通用的Java數(shù)據(jù)存取接口訪問數(shù)據(jù)。使用實體組件存在諸多問題:復(fù)雜性導(dǎo)致的性能降低;BMP中的n+l查詢發(fā)現(xiàn)者等。雖然使用JDBC容易出錯,代碼量大,但將操作JDBC的代碼封裝成高級API,大大抑制相應(yīng)缺陷,并提供使用存儲過程。這樣就可以跨越多個數(shù)據(jù)庫表的更新;RDBMS從非J2EE環(huán)境移植到J2EE環(huán)境等。
    為了能應(yīng)用于多種數(shù)據(jù)庫,保證設(shè)計的可移植性,將業(yè)務(wù)邏輯與JDBC相應(yīng)成份分離,把JDBC的使用封裝到一個抽象層中,屏蔽對JDBC和具體RDBMS的依賴性。這樣不僅保持了系統(tǒng)的靈活性,而且層次分明,易于維護。

3 高級數(shù)據(jù)存取框架模型與實現(xiàn)
   
封裝數(shù)據(jù)存取接口和實現(xiàn),以熟知的產(chǎn)品表Product和銷售明細(xì)表SellDetail為例,其中,Product具有產(chǎn)品標(biāo)識ID和產(chǎn)品名NAME;SellDetail具有產(chǎn)品ID,銷售日期DATE和銷售量AMOUNT的字段。這樣可根據(jù)產(chǎn)品ID查詢產(chǎn)品的銷售清單。
3.1 根據(jù)業(yè)務(wù)需求設(shè)置數(shù)值傳遞對象類Value Object
    對于查詢操作,輸入產(chǎn)品ID,則輸出產(chǎn)品名、銷售日期和銷售數(shù)量:而對于插入操作,輸入產(chǎn)品ID、銷售日期和銷售數(shù)量。數(shù)值傳遞對象類構(gòu)造如下:

   
    傳遞數(shù)據(jù)有兩種方法:一是將輸入數(shù)據(jù)直接設(shè)置到值對象類的相應(yīng)變量中,再將該類實例作為參數(shù),調(diào)用EJB端會話Bean中的相應(yīng)方法;二是只傳遞輸入數(shù)據(jù)的變量,在會話Bean中再將輸入數(shù)據(jù)的變量值設(shè)置到值對象類中進(jìn)行數(shù)據(jù)存取。通常在會話Bean中設(shè)有合法性檢驗功能,僅當(dāng)用戶身份合法且具有授權(quán)才允許查詢,否則會拒絕請求。采用第二種方法效率高。不設(shè)數(shù)值傳遞對象類,直接使用動態(tài)數(shù)組接收并傳遞數(shù)據(jù)也可實現(xiàn)相應(yīng)的功能。
3.2 SellDataDAFramework類
    該類為關(guān)鍵類,包含具體數(shù)據(jù)存取接口實現(xiàn)類的對象。


在大多數(shù)問題中都使用了異常SOLException,從SOLExcep—tion中提取信息,一般用戶很難理解,只有通過檢查數(shù)據(jù)庫供應(yīng)商提供的特有代碼,才能弄清異常原委。

4 DAccess類
    DAccess類實現(xiàn)了SelIDataDAccess接口,一個接口中CRUD方法是唯一的,針對不同方法,需要重新派生一個實現(xiàn)類,例如DAccess01、DAccess02等。SellDataDAFramework使用DAccess類的對象起索引或指針的作用,并將其加入到vecDAccess中,通過getDAccess方法來實現(xiàn),從而執(zhí)行具體的CRUD操作。下面以DAccess0l為例進(jìn)行說明。


5 調(diào)用高級數(shù)據(jù)存取框架
   
以會話Bean為例,說明如何調(diào)用高級數(shù)據(jù)存取框架。會話Bean所含的相應(yīng)方法接收到參數(shù)后,先檢驗輸入合法性和權(quán)限等業(yè)務(wù),再調(diào)用DAccess類進(jìn)行數(shù)據(jù)存取操作。


6 分析研究高級數(shù)據(jù)存取框架
   
為了解決數(shù)據(jù)庫類型和數(shù)據(jù)存儲形式的差異,Sun JavaCenter提出了數(shù)據(jù)訪問對象(Data Access Obiect,簡稱DAO)模式,使用DAO抽象和封裝所有對數(shù)據(jù)源的訪問和連接,提供用戶統(tǒng)一的訪問方法,其內(nèi)部實現(xiàn)對用戶是透明的。基于DAO模式的實現(xiàn)框架有多種方式。
    (1)JDBC方式將JDBC API操作封裝成高級類,供會話組件調(diào)用,該類包括存取數(shù)據(jù)分和獲取數(shù)據(jù)庫連接。
    (2)會話組件方式 使用會話組件控制數(shù)據(jù)存取,可使用應(yīng)用服務(wù)器所提供的基礎(chǔ)結(jié)構(gòu)服務(wù),如聲明式訪問控制和資源池等,但業(yè)務(wù)邏輯和持久性邏輯混在一起。
    (3)實體組件方式 采用實體組件作為數(shù)據(jù)存取手段.但導(dǎo)致實體組件的復(fù)雜性和性能降低。
    其中JDBC方式和所討論的框架相似,最大不同在于所討論的框架是將數(shù)據(jù)庫連接部分在會話組件中實現(xiàn),會話組件中統(tǒng)一關(guān)閉連接符。如果連續(xù)兩次以上訪問數(shù)據(jù)庫,則無需重建連接。
    基于JDBC的高級數(shù)據(jù)存取框架把業(yè)務(wù)邏輯和數(shù)據(jù)存取部分由不同類處理,徹底解決了二者間的重疊問題。經(jīng)驗證該框架運行良好。在會話Bean中,只需取得與具體數(shù)據(jù)庫的連接以及指定在哪個DAFramework中獲得合理DAccess接口實例即可。針對不同的數(shù)據(jù)庫提供商,只需在會話Bean中獲得各自的數(shù)據(jù)連接符,將其傳給DAFramework,而不用改變框架類中的代碼,測試結(jié)果證明,該數(shù)據(jù)存取框架相比傳統(tǒng)的數(shù)據(jù)存取方法易于實現(xiàn)代碼級復(fù)用。
    異常分級處理實現(xiàn)是將JDBC異常轉(zhuǎn)換成用戶理解的普通異常,這需要根據(jù)SQLException所含的供應(yīng)方錯誤代碼及SQLState碼分類處理,最后解析出具體錯誤。
    基于JDBC的框架不包含連接數(shù)據(jù)庫,框架內(nèi)各個組件與具體數(shù)據(jù)庫無關(guān),即當(dāng)數(shù)據(jù)庫發(fā)生非結(jié)構(gòu)性變化時,如服務(wù)器位置或數(shù)據(jù)庫類型變更,組件保持不變,故易用應(yīng)用生成器(Application Generator)自動生成框架實例,并向最終用戶提供可視化交互界面。

7 結(jié)語
   
針對應(yīng)用開發(fā)存在的問題,尋求更有效的數(shù)據(jù)存取方法,提出一種基于JDBC的高級數(shù)據(jù)存取框架,該框架旨在用于分離持久邏輯與業(yè)務(wù)邏輯,提高軟件開發(fā)效率。結(jié)合工程實際表明基于JDBC的高級數(shù)據(jù)存取框架具有優(yōu)越的代碼復(fù)用,易于實現(xiàn)。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉