什麼是持久化?
持久化是將程式中的資料在瞬時狀態和持久狀態間轉換的機制
程式執行過程中產生的資料是瞬時狀態的資料(瞬時狀態:記憶體中有,資料庫中沒有)
持久狀態:資料在資料庫中存在,永久的儲存下來了
將資料從程式中記錄到外界的媒介(檔案、資料庫等)上的過程就叫持久化的過程
持久化的實現方式:1、資料庫 2、普通檔案 3、xml檔案
xml檔案:可擴充套件的標記語言
dao(資料訪問層)起著轉換器的作用,把實體類轉換為資料庫中的記錄
data access object(資料訪問物件)
位於業務邏輯和持久化資料之間
實現對持久化資料的訪問
dao模式的作用
隔離業務邏輯**和資料訪問**
隔離不同資料庫的實現
dao模式的組成部分
dao介面
dao實現類
實體類資料庫連線和關閉工具類
分層開發的好處
各層專注於自己功能的實現,便於提高質量
便於分工協作,提高開發效率
便於**復用
便於程式擴充套件
作業系統的分層:硬體-->作業系統-->應用軟體
分層原則
封裝性原則:每個層次向外公開介面,但是隱藏內部細節
實體類的作用就是用來傳遞資料的
分層結構中,各層之間通過實體類傳輸資料
三層架構設計
j2ee三層架構簡介:表示層 、業務邏輯層、資料訪問層,三層之間用介面隔離(降低耦合度)。
定義實體類(領域物件),用於訪問資料
定義相關介面與實現類
用配置檔案(properties)和反射實現與具體類的耦合(可選)
三層架構圖
ibatis:封裝sql語句的,能簡化你寫的sql語句,不是完全用物件導向的思想來運算元據庫的,公升級版是mybatis;
hibernate:物件導向的思想運算元據庫的,能將乙個物件儲存到資料庫裡,不用再寫sql語句;
jdo:spring封裝以後的jdbc;
entity bean :ejb的元件,比較慢,現在用的很少
三層架構設計的好處
就是讓業務邏輯層不依賴於具體的資料訪問類,而是依賴於介面,業務邏輯層只使用介面,至於資料訪問層具體怎麼實現,業務邏輯層不需要知道,這樣將來如果更換資料訪問層(如:原來由jdbc實現,現在改為hibernate實現或其它方式實現時),只要新的資料訪問層實現了原來定義好的介面,這樣就不會影響到業務邏輯層(即:更換資料訪問層,業務邏輯層的**不需要作任何修改)。
JDBC程式設計
1 sql基礎 1 寫sql 找出每個城市的最新一條記錄。select city,max time from table group by city 2 乙個學生表,乙個課程成績表,怎麼找出學生課程的最高分數 學生表 child id student 姓名 成績表 grade id,grade,ch...
JDBC程式設計步驟
jdbc常用介面和類 1.drivermanager jdbc驅動類,負責載入資料庫jar包,獲得資料庫的鏈結。2.connection 資料庫連線類,通過drivermanager載入資料庫之後,返回乙個連線物件 會話,用於訪問資料庫。3.statement 執行sql的介面,子類有prepare...
JDBC程式設計步驟
載入驅動 class.forname com.mysql.jdbc.driver 獲取資料庫的連線 connection conn drivermanager.getconnection url,user,pass 使用connection來建立乙個statement物件 statement stm...