אובייקט גישה לנתונים דפוסים, המכונה לעתים קרובות סַכִּין דפוסים, משמשים לחלוקת שירותים עסקיים ברמה גבוהה לנתונים ברמה נמוכה הנגישים לממשקי API או לפעולות. החברים ב-Data Access Object Pattern מפורטים להלן.
len of array ב-java
ממשק אובייקט גישה לנתונים: ממשק אובייקט גישה לנתונים מציין את הפעולות הנפוצות שיש לבצע על אובייקט(ים) של דגם.
מחלקה של אובייקט גישה לנתונים בטון: מחלקה זו מיישמת את הממשק הנ'ל. מחלקה זו אחראית על השגת נתונים ממקור נתונים, שיכול להיות מסד נתונים, XML או סוג אחר של מערכת אחסון.
דגם או אובייקט ערך: אובייקט זה הוא POJO פשוט עם שיטות get/set לאחסון נתונים שהושגו באמצעות מחלקת DAO.
יישום
אובייקט תלמיד ייווצר וישמש כמודל כמו גם אובייקט ערכי.
ממשק אובייקט גישה לנתונים נקרא StudentDao.
מחלקת הבטון StudentDaoImpl מיישמת את ממשק אובייקט גישה לנתונים. StudentDao ישמש את DaoPatternDemo, כיתת ההדגמה שלנו, כדי להראות כיצד להשתמש בתבנית אובייקט גישה לנתונים.
שלב 1:
יצירת ערך אובייקט.
S.java
public class S { private String n; private int r; S(String n, int r){ this.n = n; this.r = r; } public String getName() { return n; } public void setName(String n) { this.n = n; } public int getRollNo() { return r; } public void setRollNo(int r) { this.r = r; } }
שלב 2:
יצירת ממשק אובייקט גישה לנתונים.
.06 כשבר
SD.java
import java.util.List; public interface SD { public List getAllStudents(); public S getStudent(int r); public void updateStudent(S s); public void deleteStudent(S s); }
שלב 3:
בנו מחלקה המיישמת את הממשק הנ'ל.
SDI.java
import java.util.ArrayList; import java.util.List; public class SDI implements SD { // list is working as the database List ss; public SDI(){ ss = new ArrayList(); S s1 = new S('Sonoo',0); S s2 = new S('Jaiswal',1); ss.add(s1); ss.add(s2); } @Override public void deleteStudent(S s) { students.remove(s.getRollNo()); System.out.println(' Student: Roll No ' + student.getRollNo() + ', has been deleted from the database'); } // traversing list of students from the database @Override public List getAllStudents() { return ss; } @Override public S getStudent(int r) { return ss.get(r); } @Override public void updateStudent(S s) { ss.get(s.getRollNo()).setName(s.getName()); System.out.println(' Student: Roll No ' + student.getRollNo() + ', has been updated in the database'); } }
שלב 4:
השתמש ב- StudentDao כדי להמחיש כיצד להשתמש בתבנית אובייקט גישה לנתונים.
DPDemo.java
public class DPDemo { public static void main(String[] args) { SD sD = new SDI(); // print all the students for (S s : sD.getAllStudents()) { System.out.println('Student: [RollNo : ' + s.getRollNo() + ', Name : ' + s.getName() + ' ]'); } // update student S s =sD.getAllStudents().get(0); s.setName('JavaTpoint'); sD.updateStudent(s); //get the student sD.getStudent(0); System.out.println('Student: [RollNo : ' + s.getRollNo() + ', Name : ' + s.getName() + ' ]'); } }
שלב 5:
יחסי ישות
בדוק את התוצאות.