JDBC編程(二)

  • 一、掌握DAO模式

什麼是持久化?

持久化是將程序中的數據在瞬時狀態和持久狀態間轉換的機制

程序運行過程中產生的數據是瞬時狀態的數據(瞬時狀態:內存中有,數據庫中沒有)

持久狀態:數據在數據庫中存在,永久的保存下來了

將數據從程序中記錄到外界的媒介(文件、數據庫等)上的過程就叫持久化的過程

持久化的實現方式:1、數據庫   2、普通文件   3、XML文件

XML文件:可擴展的標記語言

DAO(數據訪問層)起着轉換器的作用,把實體類轉換爲數據庫中的記錄

  1. Data Access Object(數據存取對象) 
  2. 位於業務邏輯和持久化數據之間
  3. 實現對持久化數據的訪問

DAO模式的作用

  1. 隔離業務邏輯代碼和數據訪問代碼
  2. 隔離不同數據庫的實現

DAO模式的組成部分

  1. DAO接口
  2. DAO實現類
  3. 實體類
  4. 數據庫連接和關閉工具類
  • 二、掌握分層開發的優勢和原則

分層開發的好處

  1. 各層專注於自己功能的實現,便於提高質量
  2. 便於分工協作,提高開發效率
  3. 便於代碼複用
  4. 便於程序擴展

操作系統的分層:硬件-->操作系統-->應用軟件

分層原則

  1. 封裝性原則:每個層次向外公開接口,但是隱藏內部細節
  2. 順序訪問原則:下一層爲上一層服務,但不使用上層的服務
  • 三、使用實體類傳遞數據

實體類的作用就是用來傳遞數據的

分層結構中,各層之間通過實體類傳輸數據

  • 四、掌握三層架構設計

三層架構設計

  1. J2EE三層架構簡介:表示層 、業務邏輯層、數據訪問層,三層之間用接口隔離(降低耦合度)。
  2. 定義實體類(領域對象),用於存取數據
  3. 定義相關接口與實現類
  4. 用配置文件(properties)和反射實現與具體類的耦合(可選)

三層架構圖

  • 表示層的作用: 1、和用戶交互   2、顯示數據
  • 業務邏輯層的作用:完成具體的功能(最重要的部分)
  • 數據訪問層的作用:增刪改查,數據庫的操作

IBatis:封裝sql語句的,能簡化你寫的sql語句,不是完全用面向對象的思想來操作數據庫的,升級版是MyBatis;

Hibernate:面向對象的思想操作數據庫的,能將一個對象保存到數據庫裏,不用再寫sql語句;

JDO:Spring封裝以後的JDBC;

Entity Bean :EJB的組件,比較慢,現在用的很少

三層架構設計的好處

就是讓業務邏輯層不依賴於具體的數據訪問類,而是依賴於接口,業務邏輯層只使用接口,至於數據訪問層具體怎麼實現,業務邏輯層不需要知道,這樣將來如果更換數據訪問層(如:原來由JDBC實現,現在改爲Hibernate實現或其它方式實現時),只要新的數據訪問層實現了原來定義好的接口,這樣就不會影響到業務邏輯層(即:更換數據訪問層,業務邏輯層的代碼不需要作任何修改)。