999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Web程序開發中的JDBC技術改進研究

2010-08-15 00:48:59常萬軍馬世霞
科學之友 2010年10期
關鍵詞:數據庫方法模型

常萬軍,馬世霞

(1.貴州大學,貴州 貴陽 552205;2.河南機電高等專科學校,河南 新鄉 453002)

Web程序開發中的JDBC技術改進研究

常萬軍1,2,馬世霞2

(1.貴州大學,貴州 貴陽 552205;2.河南機電高等專科學校,河南 新鄉 453002)

文章基于MVC模式,通過建立DBAccess類實現了JDBC對象化改進。利用繼承于改進的Hashtable類的Data類和String[][]類的設計,實現了JDBC易用性的改進。在實現對象化和易用性改進方案的基礎上開發出的Web系統經測試能夠正常運行,很好地說明了改進方案的可行性。

MVC;技術改進;JDBC

1 引言

隨著網絡技術的不斷發展,對Web數據庫技術的發展要求越來越高。但是由于在網絡環境下,Web數據庫的體系結構、訪問方式、訪問的用戶以及客戶端簡化等都與傳統數據庫有很大的不同,要使Web數據庫的應用得到有效提高,需引入中間件這一技術,使得應用程序利可以用中間件共享各種資源,特別是分布式的網絡資源,也使軟件開發者不必在應用程序間的通信、互操作以及它們的效率、可靠性、容錯性、安全性、完整性等問題上耗費太多精力,提高應用程序開發的效率。JDBC(Java Data Base Connectivity)是基于中間件平臺的一種數據庫訪問技術,他能夠很好的與ODBC(Open DataBase Connectivity)結合,具有可移植性、平臺無關性。[1~4]但是由于JDBC是基于面向過程的思想提供服務的,不符合面向對象的要求,同時其易用性不能使人滿意。本文討論了基于MVC模式的JDBC對象化改進等Web數據庫系統開發技術的改進方案,從而很好地保持了JDBC的優點并改進了其在Web系統開發中的缺點。

1.1 MVC模式

MVC 模式(Model-View-Controller),即把一個應用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應用被分成三層——模型層、視圖層、控制層。[5,6]視圖(View)代表用戶交互界面,繪制和顯示模型的數據,提交由控制器提供的數據。模型(Model)是業務流程/狀態的處理模塊,包括對業務數據的存取、加工、綜合等;維護應用程序的狀態和數據,可以接受來自視圖的查詢并做出響應;同時當模型的數據發生變化時,它把變化通知給視圖,視圖根據模型的變化來更新自己。模型的設計可以說是 MVC最主要的核心。控制(Controller)是基于應用程序的邏輯更新模型,它要告訴程序開發者,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求,控制層自身卻并不做任何的數據處理。控制層負責View和Model之間的流程控制,一方面是將用戶界面(View)的操作映射到具體的 Model,以完成具體的業務邏輯,另一方面是將通過Model處理完的業務數據及時反應到用戶界面(View)上。

1.2 JDBC技術改進

1.2.1 基于MVC模式的JDBC對象化的改進

對于程序員來說,JDBC在數據庫連接時,整個數據庫連接過程并不是面向對象的,而是面向過程的。[7]JDBC每次連接數據庫,同一數據庫連接流程都需要從頭到尾編譯一次,使得數據庫連接過程繁瑣,編程效率低下。[8]另外,由于數據庫操作比較復雜,對于不同的數據庫操作 JDBC中提供不同的Statemeni方法,這樣加大了編程的工作量,也不符合面向對象的思想。

基于MVC設計思想,對JDBC的連接過程進行了改進。首先,將整個JDBC數據庫連接過程封裝入一個叫做DBAccess的類中,利用 DBAccess類定義的對象為程序員提供統一的編程接口;接著在 DBAccess類中創建一個 public方法,即DBControl方法,用DBControl方法作為DBAccess類中的控制層;然后用ExecuteUpdate()方法執行Insert、Update、Delete操作,用 ExecuteQuery()方法執行 select操作等。這些對數據操作所用到的方法的調用過程對于用戶來說是透明的,實現了MVC設計思想中的控制層的功能。

顯然,按照上述方法封裝的DBAccess類中,DBContro1方法起到了控制層的作用。用private函數來實現的ExecuteUpdate()、ExecuteQuery()等方法則實現了具體的數據庫連接等業務流程。ExecuteUpdate()、ExecuteQuery()等方法就是DBAeeess類中的模型層,對用戶來說是不可用的、透明的。而表示層并不在 DBAccess類中,因為在整個數據庫的連接過程中并不需要考慮數據庫連接結果最后應該如何使用。這樣,引入 MVC理念對JDBC的對象化進行改進,可以使基于JDBC的Web數據庫系統具有良好的可擴展性及靈活性。

1.2.2 JDBC移植性改進

在 Web程序開發過程中,針對不同的數據庫產品,JDBC是使用不同的JDBC數據庫驅動程序來實現的;在連接數據庫時,JDBC利用String字符串類型的參數,但是對不同的數據庫系統,字符串參數需要發生變化。這種數據庫連接方式對數據庫系統的依賴性非常強,使得JDBC在可移植性與速度的平衡方面很難令人滿意。

為改變 JDBC聯結方式對數據庫的依賴,創建一個 Const類,用來存儲整個程序所需要的各種常量,并將JDBC數據庫接連時所用的全部 string字符串類型的參數字符串變量作為Const類的全局變量存儲。當JDBC連接數據庫時,從Const類提取相應字符串變量傳遞給DBAccess類。

由于 Const類的引入,創建數據庫連接所需的字符串參數存儲在內部文件中,數據連接的速度會有很大的改觀。同時又因為各連接參數沒有存儲在 DBAccess類文件中,很好地保持了JDBC的可移植性。當數據庫產品改變時,我們提練并用某種方法改變存儲于Const類中的數據庫連接參數,對Const類重新編譯后即快速可順利連接改變后的數據庫,實現了可移植性與連接速度的統一。

1.2.3 JDBC返回值改進

JDBC數據庫連接操作的返回值類型,是JDBC默認的結果集類Resultset。Resultset類的功能十分強大,包含String、Int、Data等各種常用的數據類型。在傳統的JDBC開發中,Resultset中的數據程序員并不能直接使用,往往還需要將其轉化為其他能夠直接使用的數據類型。為解決此問題,提出了JDBC返回值的改進方案。

首先,建立Data類。Data類繼承于由Resultset類轉化后的Hashtable類型,這樣當創建JDBC數據庫的首次連接時,如果結果集類Resultset中的數據較多,利用繼承于Hashtable類的Data類可以實現結果集中數據的快速檢索,同時Data類繼承Hashtable類方法的基礎上,又具有特殊的的屬性和方法,可以滿足Web數據庫連接開發的特殊性要求。

接著建立String[][]這一數據類型。基于String[][]類型的特點,一方面它可以很輕松地將數據庫表中的數據轉化并存儲于其中,另一方面,String[][]類型中的 String類型數據很容易在JSP頁面上得到體現,因此,String[][]類的引入很方便地將Resultset中的數據轉化為JSP頁面的數據。

由此,利用Resultset類型、繼承于改進的Hashtable類型的Data類和String[][]類型,實現了對數據庫查詢操作的返回值的改進,使數據庫中的數據能夠根據用戶的要求在JSP頁面中得到顯示。

1.3 JDBC改進技術的實現

按照MVC設計模式思想,利用上述方法,將Web程序開發分為表示層、控制層和模型層。在 DBAccess類封裝了控制層和模型層,利用public方法DBControl來實現用戶請求的初步處理和數據分流,利用四個private方法來分別實現用戶不同的數據庫操作請求,而單獨建立的Const類和Data類更是輔助提高了Web程序開發的效率和Web程序的性能。

采用JAVA程序設計工具和Mysql數據庫系統,在實現上述改進方案的基礎上,開發出一款小型Web系統,能夠實現數據的編輯、插入、刪除和查詢等功能。依照MVC理念對該Web系統測試,系統也能正常運行。充分驗證了本文提出的技術改進方案的可行性和優越性。

2 結束語

基于MVC模式,實現了JDBC對象化改進和JDBC易用性的改進。利用DBAccess類實現了JDBC的對象化改進,利用繼承于 Hashtable類的 Data類和 String[][]類的設計實現了JDBC易用性的改進。本文設計改進方案,不只適用于Web程序系統,也可以應用于其他基于 JAVA平臺的軟件系統。此可以很好地用于基于JDBC連接的網絡數據庫系統的開發。

1 梁陳劍、張 威.JDBC3.0數據庫開發與設計[M].北京:北京希望電子出版社,2003.3

2 楊小平.JAVA項目案例導航[M].北京:科學出版社.2003.8

3 陸正武、張志立.JAVA 項目開發實踐(2)[M].北京:中國鐵道出版社,2005.7

4 李華鷹.Java中間件開發技術[M].北京:中國水利水電出版社,2005.8

5 陸榮幸、郁 洲等.J2EE平臺上MVC設計模式的研究與實現[J].計算機應用研究,2003.20(3):144~146

6 袁梅冷、黃煙波等.J2EE應用模型中MVC軟件體系結構的研究與應用[J].計算機應用研究,2003.20(3):147~149

7 何成萬、余秋惠.MVC模型2及Struts軟件框架的研究[J].計算機工程,2002(5):274~275

8 宋善德、郭 飛.基于Java的Web數據庫的連接池技術的研究[J].計算機工程與應用,2002.38(8):201~203

The study for improving JDBC technique in the development of the Web program

Chang Wanjun,MA Shixia

Based on the MVC model, it accomplishs to improve the objectification of JDBC through the establishment of DBAccess type.Through the designs of String [] [] type and Data type which inheritances from the improvement Hashtable type, it realizes to make JDBC easy.The Web system, designesd base on the program of improving objectification and ease for using of JDBC is able to be proper functioning by the test, which shows us that the program of improving is feasible.

MVC; technique improvement; JDBC

TP311

A

1000-8136(2010)15-0144-02

猜你喜歡
數據庫方法模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
數據庫
財經(2017年2期)2017-03-10 14:35:35
3D打印中的模型分割與打包
數據庫
財經(2016年15期)2016-06-03 07:38:02
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 欧美特级AAAAAA视频免费观看| 精品无码一区二区三区电影| 国产精品亚洲专区一区| 欧美特级AAAAAA视频免费观看| 不卡午夜视频| 91热爆在线| 伊人久久婷婷| 任我操在线视频| 婷婷五月在线| 久久久久国产一区二区| 色播五月婷婷| 91国内视频在线观看| 欧美怡红院视频一区二区三区| 欧美精品在线免费| 在线人成精品免费视频| 国产在线97| 日韩精品无码免费专网站| 国产成人无码Av在线播放无广告| 呦系列视频一区二区三区| 欧美日韩激情在线| 国产精品大尺度尺度视频 | 2020国产免费久久精品99| 亚洲愉拍一区二区精品| 国产情侣一区二区三区| 欧美精品高清| 99热国产这里只有精品9九| 制服丝袜 91视频| 国产欧美精品专区一区二区| 亚洲欧美日韩高清综合678| 日韩欧美国产三级| 久久中文无码精品| 狠狠干欧美| 免费女人18毛片a级毛片视频| 国产不卡在线看| a级毛片免费看| 亚洲无码高清视频在线观看| 日韩激情成人| 日本欧美一二三区色视频| 精品视频在线观看你懂的一区| 欧美精品在线免费| 亚洲欧美另类中文字幕| 久久国产精品国产自线拍| 亚洲欧洲日产国产无码AV| 毛片网站免费在线观看| 久久精品中文字幕少妇| 亚洲精品无码AV电影在线播放| 亚洲香蕉久久| 在线观看91香蕉国产免费| 亚洲国产成人自拍| 色综合婷婷| 亚洲国产精品无码久久一线| 国产精品永久在线| 国产欧美日韩另类精彩视频| 国产91全国探花系列在线播放| 国产综合精品日本亚洲777| 国产亚洲精品97AA片在线播放| 欧美日一级片| 美女视频黄又黄又免费高清| 国产情侣一区| 成人福利一区二区视频在线| 亚洲综合极品香蕉久久网| 亚洲国产天堂久久综合226114| 亚洲精品男人天堂| 福利视频一区| 国产黄在线观看| 在线观看亚洲人成网站| 国产福利免费视频| 午夜视频免费试看| 日a本亚洲中文在线观看| 精品综合久久久久久97超人| 99精品在线看| 99偷拍视频精品一区二区| 午夜国产大片免费观看| 99性视频| 国禁国产you女视频网站| 国产一国产一有一级毛片视频| 欧美在线网| 欧美中文字幕在线二区| 热久久这里是精品6免费观看| 国产一区二区三区在线观看视频| 亚洲欧美一区二区三区蜜芽| 国产精品一老牛影视频|