數據訪問對象模式(Data Access Object Pattern)或 DAO 模式用於把低級的數據訪問 API 或操做從高級的業務服務中分離出來。如下是數據訪問對象模式的參與者。java
- 數據訪問對象接口(Data Access Object Interface) - 該接口定義了在一個模型對象上要執行的標準操做。
- 數據訪問對象實體類(Data Access Object concrete class) - 該類實現了上述的接口。該類負責從數據源獲取數據,數據源能夠是數據庫,也能夠是 xml,或者是其餘的存儲機制。
- 模型對象/數值對象(Model Object/Value Object) - 該對象是簡單的 POJO,包含了 get/set 方法來存儲經過使用 DAO 類檢索到的數據。
實現
咱們將建立一個做爲模型對象或數值對象的 Student 對象。StudentDao 是數據訪問對象接口。StudentDaoImpl 是實現了數據訪問對象接口的實體類。DaoPatternDemo,咱們的演示類使用 StudentDao 來演示數據訪問對象模式的用法。數據庫
步驟 1
建立數值對象。ide
Student.java
public class Student { private String name; private int rollNo; Student(String name, int rollNo){ this.name = name; this.rollNo = rollNo; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getRollNo() { return rollNo; } public void setRollNo(int rollNo) { this.rollNo = rollNo; } }
步驟 2
建立數據訪問對象接口。this
StudentDao.java
import java.util.List; public interface StudentDao { public List<Student> getAllStudents(); public Student getStudent(int rollNo); public void updateStudent(Student student); public void deleteStudent(Student student); }
步驟 3
建立實現了上述接口的實體類。spa
StudentDaoImpl.java
import java.util.ArrayList; import java.util.List; public class StudentDaoImpl implements StudentDao {