首頁  >  文章  >  資料庫  >  mysql中DAO模式

mysql中DAO模式

一个新手
一个新手原創
2017-10-10 09:54:042073瀏覽

JDBC封裝

優點:

  1. #隔離細節

  2. 降低程式碼間耦合性

  3. 提升程式碼可擴充性和維護性

 附註:

##         DAO模式提供了存取關係型資料系統所需操作的介面,將資料存取和業務邏輯分開,對

         上層提供物件導向的資料存取介面.

 

##  DAO模式實現兩層分離:

  • #程式碼間分工明確,資料存取層程式碼不影響業務邏輯層程式碼,這也符合單一職能原則,降低了耦合度,提高了程式碼的可重複使用性。 。

  • 隔離了不同的資料庫的實現,採用面向介面編程,如果底層資料變化了,如mysql變成了oracle。中需要增加DAO介面的實作類別即可,原來的Mysql實作類別不用修改,這符合開閉原則,降低耦合性,提高擴充性和移植性.

 DAO模式主要組成部分:

  • #DAO介面:把資料庫的所有操作定義為抽象方法,放在介面裡面,可以提供多種實作

  • DAO實作類別:針對不同的資料庫給予不同的DAO介面定義的方法的實作(不同的實作類別)

  • 實體類別:用來存放傳送的物件數據,就直接傳遞物件就可以,不用傳遞很多參數

  • 資料庫連線關閉工具類別:還有一些例如增,刪,改的複用程式碼可以提取到公共類別中,還有關閉和連接資料庫,避免程式碼冗餘..

  • SRC右鍵→NEW→File→輸出properties結尾的設定檔。

Prpoerties類別

Properties設定檔

  • #在檔案中新增設定資訊

範例:

Driver=com.mysql.jdbc.Driver                   //添加加载驱动的字符串Url=jdbc:mysql://localhost:3306/epet                                   //添加链接的字符串
Username=epetAdmin                                      //数据库用户名
Password=root                                             //数据库用户密码

讀取設定檔

Properties類別常用方法

 

#方法

描述

String getProperty(String key)

用指定的鍵取得值

Object setProperties(String key,String value)

呼叫hashTable的put方法,透過呼叫基底類別的put() 方法設定鍵值對

Void  load(InputStream instr)

從輸入流讀取屬性列表,透過對指定的檔案進行裝載取得檔案的鍵值

Void clear()

清除所轉載的鍵值對,此方法是hashtable提供              

使用實體類別傳遞資料

  • 使用實體類別傳遞資料

    資料存取程式碼和商業邏輯程式碼之間透過實體類別類類傳輸數據,把相關的資訊封裝到實體;類中,程式把實體類別當作方法的參數來傳遞。
  • 實體類別的特徵

  • 實體類別一般屬性使用private修飾

  • 根據業務需求和封裝性需求對實體類別進行getter/setter方法,負責屬性的讀取和賦值,一般使用public修飾

  • 對實體類別提供無參的建構函數,根據業務需求提供有參數的建構方法。

實體類別最好實作java.io.Serializable接口,支援序列化機制,可以將改對象轉換為位元組序列化而儲存到磁碟(硬碟)或網路上傳輸。 ############如果實體類別實作了serializable介面。就應該定義屬性serialVersionUID,解決不同版本的序列化問題.#########

以上是mysql中DAO模式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn