http://blog.csdn.net/wuyueyuljh/article/details/7561863數據庫
dao設計模式簡介設計模式
dao全稱是data access object,數據庫訪問對象,主要的功能就是用於進行數據操做的,在程序的標準開發架構中屬於數據層的操做瀏覽器
企業分層架構架構
客戶層:由於如今都採用了B/S開發架構,因此通常都使用瀏覽器進行訪問。jsp
顯示層:使用JSP/Servlet進行頁面效果的顯示.net
業務層:(Business Object,業務對象):會將多個原子性的DAO操做進行組合,組合成一個完整的業務邏輯。設計
數據層(DAO):提供多個原子性的DAO操做,例如:增長、修改、刪除等,都屬於原子性的操做。代理
資源層主要是數據庫的操做層,裏面能夠進行各類的數據存儲,可是這些數據存儲操做的時候確定依靠SQL語句,以前也發現了,若是在一個程序中出現了過多的SQL語句直接操做,則jsp頁面變得至關複雜,並且也不便於程序的可重用性。對象
能夠經過一個專門的數據庫的操做組件完成,那麼這個就是數據層的功能blog
業務層是整個項目的核心。如今咱們要學的是DAO數據層。
DAO組成
在整個DAO中實際上都是以接口爲操做標準的,即:客戶端依靠DAO實現的接口進行操做,而服務端要將接口進行具體的實現。DAO由如下幾個部分組成。
1. DatabaseConnection:專門負責數據庫的打開與關閉操做的類
2.VO:主要由屬性、setter、getter方法組成,VO類中的屬性與表中的字段相對應,每個VO類的對象都表示表中的每一條記錄;
3.DAO:主要定義操做的接口,定義一系列數據庫的原子性操做,例如:增長、修改、刪除、按ID查詢等;
4.Impl : DAO接口的真實實現類,完成具體的數據庫操做,可是不負責數據庫的打開和關閉;
5 Proxy :代理實現類,主要完成數據庫的打開和關閉,而且調用真實實現類對象的操做
6 Factory :工廠類,經過工廠類取得一個DAO的實例化對象