Dataåtkomstobjekt mönster, ofta kända som KNIV mönster, används för att dela upp företagstjänster på hög nivå från data på låg nivå som får åtkomst till API:er eller åtgärder. Medlemmarna i Data Access Object Pattern listas nedan.
javascript varningsruta
Data Access Object Interface: Data Access Object Interface specificerar de vanliga operationerna som ska utföras på ett eller flera modellobjekt.
Concrete Data Access Object-klass: Denna klass implementerar ovannämnda gränssnitt. Denna klass ansvarar för att hämta data från en datakälla, som kan vara en databas, XML eller annan typ av lagringssystem.
Modell eller värdeobjekt: Detta objekt är en enkel POJO med get/set-metoder för att lagra data som erhållits med DAO-klassen.
Genomförande
Ett elevobjekt kommer att skapas och användas som modell såväl som värdeobjekt.
Data Access Object Interface kallas StudentDao.
Den konkreta klassen StudentDaoImpl implementerar Data Access Object Interface. StudentDao kommer att användas av DaoPatternDemo, vår demoklass, för att visa hur man använder mönstret för dataåtkomstobjekt.
Steg 1:
inkapsling java
Värde Objektskapande.
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; } }
Steg 2:
Skapande av Data Access Object Interface.
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); }
Steg 3:
Konstruera en klass som implementerar det tidigare nämnda gränssnittet.
von neumann arkitektur
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'); } }
Steg 4:
Använd StudentDao för att illustrera hur du använder Data Access Object-mönstret.
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() + ' ]'); } }
Steg 5:
Kontrollera resultaten.