天天看點

Java Dao模式

什麼是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包中,作用是傳遞資料

通常還會增加一個資料庫工具類,用于連接配接資料庫和關閉資源等