日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

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

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

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

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

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


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

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


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


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

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

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

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開(kāi)發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動(dòng)商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動(dòng)的最基本功能。而對(duì)于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對(duì)于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績(jī)預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營(yíng)業(yè)收入7.54億元至8.33億元,同比增長(zhǎng)60.24%至77.03%;歸母凈利潤(rùn)預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級(jí)企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠(chéng)健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國(guó)際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國(guó)軟件定義存儲(chǔ)及超融合市場(chǎng)研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷售額同比增長(zhǎng)59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國(guó))在華深耕經(jīng)營(yíng)12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對(duì)在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會(huì)社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國(guó)際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國(guó)進(jìn)出口商品交易會(huì)("廣交會(huì)")于"云端"開(kāi)幕。本屆廣交會(huì)上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過(guò)140,...

關(guān)鍵字: 中國(guó)智造 BSP 手機(jī) CAN

要問(wèn)機(jī)器人公司哪家強(qiáng),波士頓動(dòng)力絕對(duì)是其中的佼佼者。近來(lái)年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開(kāi)發(fā)的機(jī)器人會(huì)后空翻,自主爬樓梯等。這不,波士頓動(dòng)力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...

關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國(guó)高端家電品牌G50峰會(huì)》于浙江寧波落幕,來(lái)自兩百余名行業(yè)大咖、專家學(xué)者共同探討了在形勢(shì)依然嚴(yán)峻的當(dāng)下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...

關(guān)鍵字: LINK AI BSP 智能家電

模擬

31144 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉