胡蕊蕊
(西京學院,陜西西安,710123)
Java Web程序運用中泛型DAO的作用
胡蕊蕊
(西京學院,陜西西安,710123)
將泛型DAO模式加入到Java Web程序中,能夠使Java Web程序具有更好的維護性、擴展性和復用性,能夠改善傳統Java Web程序中的缺點,運算性能得到大幅度的提高,同時還增強了程序的安全性。
Spring框架;DAO模式;Java Web程序
在互聯網領域中運用的Java技術就稱為Java Web技術。隨著人們對軟件功能需求的不斷提高,Java技術也在不斷的升級和改造中。泛型DAO模式的開發是以Java泛型類的提出為基礎的,傳統Java程序開發框架結構為三層框架結構,包括JPA層,Spring層以及Struts層等,在程序實際運行中,這種框架結構存在很多的不足,無法保證程序運行的安全,因此本文提出將DAO模式應用到Java Web程序開發中,改善傳統Java技術安全性、兼容性以及復用性差等缺點。
程序和對象之間交流的第一窗口就是由數據訪問窗口,也就是DAO。該數據訪問窗口能夠實現訪問持久化數據和數據之間關系的映射。數據訪問窗口是數據資料庫的上層,同時也是業務邏輯的下層。這就可以將業務邏輯處理和數據訪問操作分割開來,通過這種方法減少訪問層和業務層之間的重疊和交叉。訪問Access數據庫的一種比較有效的方法就是利用DAO模式。除此之外,大量文件需要儲存、程序可讀性差、代碼繁瑣是困擾當前程序開發的最大問題,急需設計人員進行解決。而該模式的引入能夠明顯增強程序的可讀性、提高程序的安全性,實現面向接口的多態化的編程。
傳統Jave技術架構建立方法為:首先分別進行數據訪問層、業務處理層以及表示層的編程,之后在每一層中設計專門的接口。而在泛型DAO模式中,數據訪問層和業務處理層是相連接的,并且業務邏輯層的接口位于數據訪問層中。
Hibernate框架是進行數據訪問層搭建的主要框架,將Fa?ade接口和模塊入口相接,之后在對其實現類進行定義和屬性規定,最后進行接口的設計。數據庫的刷星、閱讀、創建等操作都由其完成。利用EHD操作和泛型學習法可以進行實體DAO模式的創建,這樣,CRUD等操作也就會通過實體DAO模式實現。
泛型DAO模式是對傳統DAO模式的修改和升級,其主要內容就是進行DAO模式的抽象化設計,同時進行抽象化DAO模式的實現,CRUD操作是抽象化DAO模式實現的主要內容,通常以下幾種方法完成抽象化DAO模式的實現:一是在實現方法直接進行泛型的定義;二是在基本的類和接口上直接進行泛型的定義。
泛型DAO模式的引入使程序具有更好的復用性,程序設計語言變得更為簡單,在程序運行結束之后進行類型的檢查,通過這種方法避免程序在運行過程中產生的各種突發問題,使程序的運行速度得到了明顯的改善。Entity類的管理是由泛型模式執行,如果選址該類中的CRUD操作不僅可以使程序具有良好的性能,而且還可以簡化編程過程,使編程出錯率大大降低。泛型DAO模式能夠有效的完成類之間的轉換,減少類轉換的錯誤,而且儲存位置選擇性更為廣泛,各種模塊和子類的存儲時間更為長久。
3.1 查詢功能設計
查詢功能的設計是泛型模式開發過程中難點,泛型模式中進行所有程序設計時一個必須的模塊就是查詢模塊,主要的查詢方法包括以下三種:一是根據條件進行搜索結果的查詢;二是根據排列順序進行搜索結果的查詢;三是將頁碼分開進行搜索結果的查詢,下面分別對這三種查詢方法進行詳細的論述。
(1)根據條件進行搜索結果的查詢,在對搜索結果進行查詢時,可以使用不同的條件,所以應該對每種條件的查詢方式進行探討,同時通過Map映射來存儲這些條件和所對應的查詢結果。通常而言,在一次查詢中,會有多種條件,一個條件是包含在另一個條件內部的,只有完成了該條件的查詢,才能夠完成下一條件的查詢,所以在利用Map進行查詢條件和查詢結果存儲的過程中,必須要按照一定的順序,此時就需要Map類的支持。
(2)根據排列順序進行搜索結果的查詢,在進行這種查詢時,首先要對搜索結果進行排序處理,通常是以用戶名為排列的關鍵字段,根據用戶名大小從大到小對搜索結果進行排序。
(3)將頁碼分開進行搜索結果的查詢,在進行這種類型查詢時,首先要統計每種搜索結果出現的次數,同時找出出現次數最多的搜索結果,之后要給出每一條搜索結果所對應的具體位置。
3.2 主鍵查詢功能的設計
在進行JavaEE程序設計中一種常見的設計模式就是泛型模式。傳統模式主要應用于數據持久層中,數據持久層中不同的對象有著不同模式,每一種模式都有著不同的CRUD操作屬性,進行DO操作。主鍵查詢在DAO模式中是不允許,但可以進行其他類型的查詢,DO集合是DAO模式查詢結果返回值。泛型模式的出現可以很好的解決查詢安全性的問題。在泛型模式中,使用的查詢接口為Java對象合集,其中包含查詢之前對象屬性和類型以及查詢之后對象屬性和類型,確保查詢的一致性,能夠使查詢過程中數據轉換的出錯率降到最低。
傳統Java技術的三種框架,這三種框架分別為JPA框架、Spring框架以及Struts框架。在泛型模式中,結構層次分別為:第一層為數據源層;第二層為服務層;第三層為動作層,下面分別對這三種層次進行論述。
4.1 數據源層
Spring架構中主要的數據實體為事物管理器、實體管理器以及配置數據等,而JPA架構中主要的數據實體為持久化單元。
4.2 用戶實體的建立
在進行用戶實體構建時,首先需要在數據庫中進行用戶數據表的構建,表中包含了用戶實體,用戶實體的各種屬性都要添加到用戶數據表中,同時添加數據收集和重置操作數據,并對數據實體和數據映射之間的關系進行注釋和說明。
4.3 構建程序業務層
程序業務層的主要作用就是進行業務邏輯關系的處理,一般業務層構建的方法就是在DAO模式下進行數據源和操作屬性關系映射的定義。泛型模式是傳統模式一種抽象化的處理方法,這種方法優點包括以下三點:一是操作簡單;二是設計方便;三是操作效率較高。
4.4 進行對象動作的定義
在spring框架中進行對象動作的定義,同時將對象動作添加到對象服務當中。
本文在同一程序設計中分別使用了傳統模式以及改進之后的泛型模式,它們的運行結果如下。
(1)利用傳統模式編寫的程序在進行文件類型設計和屬性提取時,需要添加人工動作,而且查詢結果和過程中保密性差,安全隱患較多,編程語言復雜,較難讀懂,編程代碼龐大冗雜。(2)泛型模式所編寫的程序具有更好的安全性和保密性,信息被竊取的可能性大大降低,并且和傳統模式相比,泛型模式編寫的程序文件數量更少,可讀性更加,代碼得到了很大的簡化。
泛型DAO模式整合了傳統Java程序開發框架中的三種層次,使程序開發具有更為優良的性能,程序運行更為安全,信息傳遞保密性更強,代碼具有更好的可讀性,所以泛型DAO模式將是未來使用最多的一種的模式。
[1]孟晨,趙春亮,張建國.泛型DAO模式在Java Web開發中的應用[J].計算機應用與軟件,2012,(01):175-177+210.
Java Web program using generic DAO
Hu Ruirui
(Xijing University,Xi'an Shaanxi,710123)
Join Java generic DAO mode Web programs, promoting Java Web programs can improve the shortcomings of traditional Java Web programs, performance is improved, but also enhances the safety of the procedure.
framework for Spring; DAO mode; Java Web program
T快速應用開發框架數據持久層的一種實現模式[J].電子科技大學
年期,2009.05.