Datatilgangsobjekt mønstre, ofte kjent som KNIV mønstre, brukes til å dele forretningstjenester på høyt nivå fra data på lavt nivå som får tilgang til APIer eller handlinger. Medlemmene av datatilgangsobjektmønsteret er oppført nedenfor.
java bønne
Datatilgangsobjektgrensesnitt: Datatilgangsobjektgrensesnittet spesifiserer de vanlige operasjonene som skal utføres på et(e) modellobjekt(er).
Konkrete datatilgangsobjektklasse: Denne klassen implementerer det nevnte grensesnittet. Denne klassen er ansvarlig for å hente data fra en datakilde, som kan være en database, XML eller en annen type lagringssystem.
Modell eller verdiobjekt: Dette objektet er en enkel POJO med get/set metoder for å lagre data innhentet ved bruk av DAO-klassen.
Gjennomføring
Et elevobjekt vil bli laget og brukt som modell samt verdiobjekt.
Data Access Object Interface kalles StudentDao.
Den konkrete klassen StudentDaoImpl implementerer Data Access Object Interface. StudentDao vil bli brukt av DaoPatternDemo, demoklassen vår, for å vise hvordan du bruker Data Access Object-mønsteret.
Trinn 1:
Verdi Objektskaping.
S.java
romertall diagram 1 100
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:
Oppretting av datatilgangsobjektgrensesnitt.
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); }
Trinn 3:
Konstruer en klasse som implementerer det nevnte grensesnittet.
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'); } }
Trinn 4:
Bruk StudentDao for å illustrere hvordan du bruker datatilgangsobjektmønsteret.
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() + ' ]'); } }
Trinn 5:
Sjekk resultatene.
konvertere en streng til heltall