国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于java三層構(gòu)架的管理信息系統(tǒng)中DAO層的構(gòu)建探索

2015-06-29 12:10:58陳欣
科技資訊 2015年11期
關(guān)鍵詞:管理信息系統(tǒng)

陳欣

摘 要:該文主要探討基于java語言在管理信息系統(tǒng)中數(shù)據(jù)存取層的設計方式和方法的探索,將MVC與三層構(gòu)架進行結(jié)合,研究DAO模式在管理信息系統(tǒng)的作用,將業(yè)務邏輯與數(shù)據(jù)訪問技術(shù)更好的融合,并結(jié)合管理信息系統(tǒng)實例來改善DAO層的設計,通過使用模板模式簡化代碼使得開發(fā)過程更加簡潔,可以更好的提高系統(tǒng)架構(gòu)的復用性、拓展性及可維護性,同時也更好的改善了系統(tǒng)的性能,提高程序的安全系數(shù)。

關(guān)鍵詞:管理信息系統(tǒng) DAO MVC設計模式 JDBC

中圖分類號:C93 文獻標識碼:A 文章編號:1672-3791(2015)04(b)-0026-02

管理信息系統(tǒng)(MIS),是計算機度應用當中相當普遍和普及的軟件系統(tǒng),主要用于記錄、存儲、修改、統(tǒng)計查詢生產(chǎn)生活中產(chǎn)生的數(shù)據(jù),避免人工處理數(shù)據(jù)的弊端,加快數(shù)據(jù)的統(tǒng)計和分析過程。應用程序在相當程度上需要使用持久性數(shù)據(jù)。對于信息系統(tǒng)而言,持久性存儲[1]是通過不同機制實現(xiàn)的。信息系統(tǒng)的設計一般都采用三層結(jié)構(gòu)來設計,基于java三層構(gòu)架的系統(tǒng)中數(shù)據(jù)存取層的設計主要是通過JDBC驅(qū)動來執(zhí)行標準的SQL語句,進行數(shù)據(jù)庫的增刪改查。對于千篇一律的增、刪、改、查寫起來不僅麻煩,而且容易出錯。該文介紹一種設計方法來改善DAO層的設計,從而減輕程序員的工作負擔,降低出錯的可能性。

1 管理信息系統(tǒng)的三層體系結(jié)構(gòu)

管理信息系統(tǒng)目前主要采用B/S結(jié)構(gòu)。以瀏覽器(Browser)作為客戶端,Web服務器作為服務端,數(shù)據(jù)庫服務器和Web服務器可以安裝到一臺電腦上作為服務器也可以放在不同的電腦上,Web服務器通過JDBC驅(qū)動程序訪問數(shù)據(jù)庫。Web服務器通過接受請求,并將請求轉(zhuǎn)給Servlet類進行處理,將servlet處理的結(jié)果響應給瀏覽器。系統(tǒng)的三層體系結(jié)構(gòu)如圖1所示。

2 系統(tǒng)的設計模式(MVC和三層設計的結(jié)合)

MVC設計模式是目前B/S設計當中最常采用的一種模式,通過使輸入、處理、輸出在設計分離,使內(nèi)容和顯示相分離,將應用程序分成三個核心部件:模型、視圖、控制器。他們各自處理自己的任務。簡化編碼,降低系統(tǒng)的復雜性。同時也有利于團隊開發(fā)中的分工合作,是一種創(chuàng)建軟件的比較好的途徑。

MVC模式在實現(xiàn)上采用三層結(jié)構(gòu)來設計如圖2所示,表示層:負責調(diào)用業(yè)務邏輯層的方法,將數(shù)據(jù)展現(xiàn)給前端用戶,主要是網(wǎng)頁jsp頁面。業(yè)務邏輯層:專注于業(yè)務邏輯的處理,針對具體的業(yè)務進行處理。數(shù)據(jù)訪問層:直接操作數(shù)據(jù)庫,對數(shù)據(jù)進行增、刪、改、查的操作。層和層之間通過domain對象來相互通信??刂破鞑捎肧ervlet來實現(xiàn),在控制器中調(diào)用業(yè)務邏輯層的方法并控制數(shù)據(jù)到表示層的交互。

3 數(shù)據(jù)存取層技術(shù)DAO

數(shù)據(jù)庫是管理信息系統(tǒng)的核心內(nèi)容,DAO層的主要作用就是將與持久化相關(guān)的代碼從業(yè)務邏輯層中分離出來,把數(shù)據(jù)庫層對數(shù)據(jù)庫進行操作的代碼全部封裝到一個DAO類中[2],把業(yè)務流程和規(guī)則放在一邊,把持久化相關(guān)的放在另一邊。目前,Web與數(shù)據(jù)庫的接口技術(shù)有很多,其中JDBC是Java程序連接和存取數(shù)據(jù)庫的應用程序接口,由一組用Java語言編寫的類與接口組成,是執(zhí)行SQL語句的Java API。該文介紹的管理信息系統(tǒng)中,在數(shù)據(jù)的存取方面,采用了JSP/Servlet+JDBC的技術(shù),即客戶端不產(chǎn)生數(shù)據(jù)庫查詢命令,客戶端上的瀏覽器通過URL和中間層的Web服務器建立連接。Web服務器主要負責接收本地或遠程瀏覽器的HTTP數(shù)據(jù)請求,然后中間層的Servlet收到請求后,通過執(zhí)行程序中的SQL語句,利用JDBC提供的標準API對數(shù)據(jù)庫進行訪問和相應的操作處理。Servlet再將查詢的數(shù)據(jù)傳給JSP,最后生成標準的JSP頁面將結(jié)果返回給提出請求的瀏覽器。這樣,不僅將客戶端與數(shù)據(jù)庫服務器端分開,同時提高了數(shù)據(jù)庫的訪問效率。

4 管理信息系統(tǒng)DAO構(gòu)建實例

為了更好地說明使用JSP/Servlet構(gòu)建三層式管理信息系統(tǒng)的方法,作者將舉例分析設計一個商品郵購管理信息系統(tǒng)。這個商品郵購管理信息系統(tǒng)利用Java語言進行服務器端應用程序的開發(fā),使用IBM公司的Webshpere作為應用服務器,數(shù)據(jù)庫管理系統(tǒng)選用SQL Server 2005,數(shù)據(jù)庫接口程序使用JDBC2接口。整個系統(tǒng)使用基于Web的方式來實現(xiàn)郵購業(yè)務的客戶管理、職員管理、訂單管理、商品管理、出庫管理、入庫管理等業(yè)務處理、流程控制、權(quán)限控制、查詢統(tǒng)計以及打印等功能。其中詳細分析用戶登錄功能。

4.1 數(shù)據(jù)庫設計

對于一般的系統(tǒng)都會有一張用戶表,作為用戶登錄注冊之用。表結(jié)構(gòu)見表1。

其中去掉異常的處理,在實際使用的時候可以適當?shù)募由袭惓!T擃愔饕糜贒AO在獲取數(shù)據(jù)庫連接或者釋放數(shù)據(jù)庫資源的時候使用。

4.2 DAO層的設計

開發(fā)人員用 DAO模式將底層的數(shù)據(jù)訪問操作和上層的業(yè)務邏輯分開[3],主要是給業(yè)務層調(diào)用,這樣保證除了DAO層之外,在別的地方看不到SQL語句,便于明確的分工合作。DAO層的設計,一般會給每張表都增加一個DAO類,那么在設計的時候,經(jīng)常會出現(xiàn)打開連接關(guān)閉連接的操作。因此可以抽象成一個父類,我們在父類中完成這些繁瑣的重復的工作。請看例子。

下面是子類的設計:充分利用多態(tài)的原理,讓父類處理公共的操作,而把每個表特別單獨處理的部分,比如記錄到對象的轉(zhuǎn)換、SQL語句,參數(shù),放到子類當中來實現(xiàn)。這樣封裝好的父類,可以為子類的編寫節(jié)省大量的時間

客戶端通過業(yè)務層的類來調(diào)用DAO層的方法來實現(xiàn)業(yè)務功能。

5 結(jié)語

該文描述了一個基于java三層構(gòu)架的管理信息系統(tǒng)中DAO層的編寫方案。該方案通過抽象DAO層的公用代碼,使得DAO層的編寫將會異常的簡單,只需要編寫實體對象和記錄的對應關(guān)系、SQL語句和參數(shù),將面向?qū)ο蟮哪0迥J酱罅康膽茫蟠蟮暮喕薉AO的編寫。

參考文獻

[1] SUBRAHM ANYAM ALLAMARAJU.J2EE服務器端高級編程(Professional Java Server Programming J2EE Edition)[M].北京:機械工業(yè)出版社(Beijing:China M achine Press),2001.

[2] 鄭翔.JAVA DAO模式淺析[J].科教文匯:下旬刊,2010(8):75-76.

[3] 孟晨,趙春亮,張建國.泛型DAO模式在Java Web開發(fā)中的應用[J].計算機應用與軟件,2012(1):175-177,210.

猜你喜歡
管理信息系統(tǒng)
面向管理信息系統(tǒng)開發(fā)的軟件工廠技術(shù)研究
應用電力營銷管理信息系統(tǒng)進行電費管理探究
管理信息系統(tǒng)的研究
高校圖書館管理信息系統(tǒng)的完善和發(fā)展研討
應用技術(shù)型本科工程管理類專業(yè)《管理信息系統(tǒng)》課程教學改革
時代金融(2016年27期)2016-11-25 18:43:18
基于B/S結(jié)構(gòu)的學生公寓管理信息系統(tǒng)的設計與實現(xiàn)
基于“互聯(lián)網(wǎng)+”的企業(yè)管理信息系統(tǒng)優(yōu)化分析
基于工作流的水運應急信息管理平臺設計 
軟件導刊(2016年9期)2016-11-07 21:29:10
管理信息系統(tǒng)案例教學探討
淺析管理信息系統(tǒng)課程教學
科技視界(2016年16期)2016-06-29 22:00:42
邛崃市| 五寨县| 桐乡市| 微山县| 西平县| 永康市| 富宁县| 延津县| 清水县| 双流县| 四平市| 蓬溪县| 韶山市| 海晏县| 怀来县| 漳州市| 汕头市| 宁南县| 汾西县| 方正县| 岢岚县| 景宁| 福泉市| 赤水市| 临桂县| 马关县| 江安县| 吉安市| 台东县| 汶川县| 洞口县| 麦盖提县| 如皋市| 青川县| 棋牌| 上高县| 琼结县| 安图县| 五莲县| 孟津县| 嘉祥县|