什麼是dao
dao是data access object資料通路接口,資料通路:故名思義就是與資料庫打交道。夾在業務邏輯與資料庫資源中間。
dao的功能:
1. dao用來封裝data source的..就比如,connection conn = drivermanager.getconnection(...) . . . . . .
就可以把drivermanager. username, passpword這一些放在dao中
以後要更改 數 據 庫 的類型.比如要把sql server換成oracle的話..隻需要更改dao裡面的getconnection()裡面的連接配接字元串之類的..
2. dao也是把對資料庫的操作(比如最基本的更新, 添加等操作)全部封裝在裡面..
比如說你要你要插入一個新的使用者..那麼.在dao中我們隻需要提供一個insertuser(user user)這一個方法就可以了..具體的操作是在daoimpl中實作的...
那麼對于要調用dao的時候.我們隻要知道insertuser(user)是用來插入一個新的使用者...而不需要知道是如何實作的。
一個典型的 dao 實作有以下元件:
一個 dao 工廠類
一個 dao 接口
一個實作了 dao 接口的具體類
資料傳輸對象(實體對象 , 比如 pet, dog, penguin 等)
在設計 dao 時,首先要思考以下問題:
程式如何開始?
程式開始需要幹什麼?
程式的過程?
程式如何結束?
程式結束又需要幹什麼?
dao是否要負責程式的開始和結束
設計dao模式
dao接口: 位于dao包中, 把對資料庫操作的所有方法定義在該接口中
dao實作類:位于 dao.impl 包中 , 針對不同的資料庫(比如sqlserver , oracle 等不同資料庫)給出dao接口中定義的方法的具體實作
實體類: 位于 entity包中,作用是傳遞資料
通常還會增加一個資料庫工具類,用于連接配接資料庫和關閉資源等