(河南城建學(xué)院計算機與數(shù)據(jù)科學(xué)學(xué)院 河南 平頂山 467036)
由于通用性的缺失,當(dāng)前的計算機程序設(shè)計人員在數(shù)據(jù)庫設(shè)計中的工作量就會大大增加。由于工作量大,開發(fā)的新軟件就更容易出現(xiàn)錯誤,還會給數(shù)據(jù)庫操作的靈活性造成負(fù)面影響,這說明對基于Java的數(shù)據(jù)庫應(yīng)用框架設(shè)計進(jìn)行研究和分析是十分必要也是十分重要的。
軟件的開發(fā)無不具備自身的代碼。在框架和組件的基礎(chǔ)上搞二次開發(fā),同時在數(shù)據(jù)開發(fā)的過程中也廣泛應(yīng)用了基于框架實現(xiàn)的二次開發(fā),并形成了共識。
基于數(shù)據(jù)庫進(jìn)行軟件開發(fā)的具有以下顯著優(yōu)勢:其一,讓任務(wù)執(zhí)行的方式更加統(tǒng)一,提高了執(zhí)行任務(wù)的一致性;其二,開發(fā)人員相同數(shù)據(jù)庫中間層的創(chuàng)建,讓軟件開發(fā)風(fēng)險大大降低;其三,讓數(shù)據(jù)庫的操作難度大大降低。
另一方面,Java開發(fā)也離不開為數(shù)眾多的數(shù)據(jù)庫框架,比如為軟件開發(fā)提供便利的Hibernate框架等。Java是一種較為簡單的多線程動態(tài)語言,它具有可移植、面向?qū)ο蟆⒎植际降忍攸c。Java屬于簡單、分布式、面向?qū)ο蟆⒖梢浦驳亩嗑€程動態(tài)語言。Java數(shù)據(jù)庫技術(shù)是基于Java語言的數(shù)據(jù)訪問技術(shù),,它以數(shù)據(jù)庫訪問為基礎(chǔ),提供了專門接口。為了對程序員的操作進(jìn)行優(yōu)化,接口應(yīng)為5個,分別是:Connection Interface(數(shù)據(jù)庫會話、保存功能的制定實現(xiàn),為程序員上下文互聯(lián)的實現(xiàn)提供輔助,執(zhí)行SQL語句,返回結(jié)果),Prepared(有效展現(xiàn)與編譯SQL對象);Statement(靜態(tài)語句執(zhí)行的實現(xiàn),生成結(jié)果對象返回執(zhí)行的實現(xiàn));Callable Statement(于存儲過程中執(zhí)行具有重要的作用)和Result Set(對數(shù)據(jù)庫結(jié)果進(jìn)行有效存儲,數(shù)據(jù)庫語句查詢執(zhí)行)。
實現(xiàn)客戶端和后端數(shù)據(jù)庫之間的信息互通是數(shù)據(jù)庫框架的目的所在。具體來說,數(shù)據(jù)庫框架具有以下功能:讓后端數(shù)據(jù)庫和客戶端連接的安全成為現(xiàn)實;解析、存儲客戶端語句;借助中間件向客戶端發(fā)送執(zhí)行結(jié)果;處理數(shù)據(jù)庫的語義沖突;杜絕無權(quán)用戶訪問系統(tǒng)。
基于上述功能與數(shù)據(jù)庫框架視圖透明化的實現(xiàn),數(shù)據(jù)庫總體用例模型。數(shù)據(jù)總體用例模型由連接管理模塊、模式處理模塊、查詢處理模塊、事務(wù)處理模塊、安全控制模塊五部分組成。其中,模式處理模塊有外模式、全局模式、輸出模式和局部模式幾部分構(gòu)成;查詢模塊通過身份認(rèn)證、訪問控制、安全加密、安全審計等環(huán)節(jié)來實現(xiàn)。
從框架技術(shù)、Java數(shù)據(jù)庫技術(shù)二者的聯(lián)系出發(fā),基于Java的數(shù)據(jù)庫框架模型。數(shù)據(jù)庫框架主要有四個類和一個結(jié)構(gòu)組成。其中,解析器標(biāo)準(zhǔn)定義的實現(xiàn)是Parser結(jié)構(gòu)的主要目的所在。Parser還能有效實現(xiàn)接口使用多種的數(shù)據(jù)庫配置文件的有效解析,數(shù)據(jù)庫的配置信息還能通過相關(guān)定義進(jìn)行包裝,對有效傳輸數(shù)據(jù)庫配置信息起到促進(jìn)作用。其余三個類也具有與Parser類似的功能。在數(shù)據(jù)庫操作實現(xiàn)的過程中,需要首先通過數(shù)據(jù)庫驅(qū)動程序的加載來實現(xiàn)數(shù)據(jù)庫連接對象的創(chuàng)建。
API在數(shù)據(jù)連接實現(xiàn)的過程中顯得十分重要,它的功能將不同數(shù)據(jù)庫連接起來以及數(shù)據(jù)接口連接的實現(xiàn)。API對數(shù)據(jù)廠商和中間件廠商的互聯(lián)也有一定的促進(jìn)作用,還以從程序開發(fā)人員的角度將相應(yīng)的連接標(biāo)準(zhǔn)和連接結(jié)構(gòu)提供出來。API在Java數(shù)據(jù)庫連接過程中的主要目的就是面向標(biāo)注目標(biāo)實現(xiàn),并且對高性能接口進(jìn)行定義。Java數(shù)據(jù)庫通過注冊驅(qū)動、創(chuàng)建數(shù)據(jù)庫連接、床架年數(shù)據(jù)庫操作對象、執(zhí)行SQL、處理結(jié)果集以及關(guān)閉JDBC對象等操作與應(yīng)用程序連接。
在實際開發(fā)系統(tǒng)框架的過程中,底層具備的數(shù)據(jù)庫訪問管理手段要十分良好,開發(fā)人員只要對底層結(jié)構(gòu)進(jìn)行全面掌握,就可以實現(xiàn)程序中數(shù)據(jù)庫的處理,而不需要連接配置數(shù)據(jù)庫、管理連接池和處理一位捕獲。
本文中基于Java的體系結(jié)構(gòu),讓數(shù)據(jù)庫應(yīng)用框架的開發(fā)得以實現(xiàn)。該結(jié)構(gòu)體系由客戶層、服務(wù)器層和數(shù)據(jù)層三部分構(gòu)成,其中數(shù)據(jù)庫包括Oracle數(shù)據(jù)庫、DB2數(shù)據(jù)庫、SQL數(shù)據(jù)庫等數(shù)據(jù)庫組成。該結(jié)構(gòu)體系依靠JDBC、HTTP以及JSP等組件技術(shù),充分展現(xiàn)了數(shù)據(jù)庫模型的思想,功能部件的耦合性大大降低,系統(tǒng)的靈活性和擴展性得以顯著提高。
通過測試,上述框架實現(xiàn)了對返回數(shù)據(jù)的耗時較少的準(zhǔn)確查詢,且獨立數(shù)據(jù)庫查詢所用時間較少。
本文較為全面的分析了基于Java的數(shù)據(jù)庫框架設(shè)計。為了對開發(fā)人員在編寫數(shù)據(jù)庫代碼的過程中的重復(fù)情況進(jìn)行有效避免,設(shè)計者及將其用于開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的過程中。通過測試,在開發(fā)Jzva應(yīng)用系統(tǒng)的過程中,文中設(shè)計框架的有效性得到驗證。在使用過程中,為設(shè)計人員提出了編寫相關(guān)數(shù)據(jù)訪問對象的要求。