日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java Data Access Object Pattern(数据访问对象模式)

發布時間:2025/6/15 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java Data Access Object Pattern(数据访问对象模式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據訪問對象模式(Data Access Object Pattern)或 DAO 模式用于把低級的數據訪問 API 或操作從高級的業務服務中分離出來。以下是數據訪問對象模式的參與者。

  • 數據訪問對象接口(Data Access Object Interface) - 該接口定義了在一個模型對象上要執行的標準操作。
  • 數據訪問對象實體類(Data Access Object concrete class) - 該類實現了上述的接口。該類負責從數據源獲取數據,數據源可以是數據庫,也可以是 xml,或者是其他的存儲機制。
  • 模型對象/數值對象(Model Object/Value Object) - 該對象是簡單的 POJO,包含了 get/set 方法來存儲通過使用 DAO 類檢索到的數據。
  • 創建數值對象。
  • /*** 1. 創建數值對象。* @author mazaiting*/ public class Student {private String name;private int rollNo;public 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. 創建數據訪問對象接口。* @author mazaiting*/ public interface StudentDao {public List<Student> getAllStudents();public Student getStudent(int rollNo);public void updateStudent(Student student);public void deleteStudent(Student student); }
  • 創建實現了上述接口的實體類。
  • /*** 3. 創建實現了StudentDao接口的實體類。* @author mazaiting*/ public class StudentDaoImpl implements StudentDao{List<Student> students;public StudentDaoImpl(){students = new ArrayList<Student>();Student student1 = new Student("Rebert", 0);Student student2 = new Student("John", 1);students.add(student1);students.add(student2);}public List<Student> getAllStudents() {return students;}public Student getStudent(int rollNo) {return students.get(rollNo);}public void updateStudent(Student student) {students.get(student.getRollNo()).setName(student.getName());System.out.println("Student: Roll No " + student.getRollNo() +", updated in the database");}public void deleteStudent(Student student) {students.remove(student.getRollNo());System.out.println("Student: Roll No " + student.getRollNo() +", deleted from database");}}
  • 使用 StudentDao 來演示數據訪問對象模式的用法。
  • /*** 4. 使用 StudentDao 來演示數據訪問對象模式的用法。* @author mazaiting*/ public class Client {public static void main(String[] args) {StudentDao studentDao = new StudentDaoImpl();// 輸出所有的學生for (Student student : studentDao.getAllStudents()) {System.out.println("Student: [RollNo : "+student.getRollNo()+", Name : "+student.getName()+" ]");}// 更新學生Student student = studentDao.getAllStudents().get(0);student.setName("Michael");studentDao.updateStudent(student);// 獲取學生studentDao.getStudent(0);System.out.println("Student: [RollNo : "+student.getRollNo()+", Name : "+student.getName()+" ]"); } }
  • 打印結果
  • Student: [RollNo : 0, Name : Rebert ] Student: [RollNo : 1, Name : John ] Student: Roll No 0, updated in the database Student: [RollNo : 0, Name : Michael ]

    總結

    以上是生活随笔為你收集整理的Java Data Access Object Pattern(数据访问对象模式)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。