• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      其中去掉異常的處理,在實際使用的時候可以適當?shù)募由袭惓?。該類主要用于DAO在獲取數(shù)據(jù)庫連接或者釋放數(shù)據(jù)庫資源的時候使用。

      4.2 DAO層的設(shè)計

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

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

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

      5 結(jié)語

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

      參考文獻

      [1] SUBRAHM ANYAM ALLAMARAJU.J2EE服務(wù)器端高級編程(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ā)中的應(yīng)用[J].計算機應(yīng)用與軟件,2012(1):175-177,210.

      猜你喜歡
      管理信息系統(tǒng)
      面向管理信息系統(tǒng)開發(fā)的軟件工廠技術(shù)研究
      應(yīng)用電力營銷管理信息系統(tǒng)進行電費管理探究
      管理信息系統(tǒng)的研究
      高校圖書館管理信息系統(tǒng)的完善和發(fā)展研討
      應(yīng)用技術(shù)型本科工程管理類專業(yè)《管理信息系統(tǒng)》課程教學改革
      時代金融(2016年27期)2016-11-25 18:43:18
      基于B/S結(jié)構(gòu)的學生公寓管理信息系統(tǒng)的設(shè)計與實現(xiàn)
      基于“互聯(lián)網(wǎng)+”的企業(yè)管理信息系統(tǒng)優(yōu)化分析
      基于工作流的水運應(yīng)急信息管理平臺設(shè)計 
      管理信息系統(tǒng)案例教學探討
      淺析管理信息系統(tǒng)課程教學
      科技視界(2016年16期)2016-06-29 22:00:42
      宁津县| 措美县| 花莲市| 洪江市| 衡阳县| 云霄县| 呼玛县| 九龙城区| 寿光市| 四子王旗| 北票市| 汉寿县| 浪卡子县| 石城县| 辽宁省| 通州区| 永嘉县| 越西县| 天镇县| 德清县| 会同县| 马山县| 六枝特区| 北票市| 庆城县| 永和县| 明光市| 正阳县| 南雄市| 平陆县| 英德市| 吴川市| 永州市| 淄博市| 宜阳县| 湖口县| 宝丰县| 昌图县| 东丰县| 乐平市| 嘉兴市|