Obiekt dostępu do danych wzory, często tzw NÓŻ wzorce służą do oddzielenia usług biznesowych wysokiego poziomu od interfejsów API lub działań mających dostęp do danych niskiego poziomu. Elementy składowe wzorca obiektu dostępu do danych są wymienione poniżej.
pomiń listę
Interfejs obiektu dostępu do danych: Interfejs obiektu dostępu do danych określa typowe operacje, które należy wykonać na obiekcie(ach) modelu.
Konkretna klasa obiektu dostępu do danych: Klasa ta implementuje powyższy interfejs. Ta klasa jest odpowiedzialna za uzyskiwanie danych ze źródła danych, którym może być baza danych, XML lub inny typ systemu przechowywania.
Model lub obiekt wartości: Obiekt ten jest prostym POJO z metodami get/set do przechowywania danych uzyskanych przy użyciu klasy DAO.
Realizacja
Zostanie stworzony obiekt ucznia, który będzie używany zarówno jako model, jak i obiekt wartości.
Interfejs obiektu dostępu do danych nazywa się StudentDao.
Konkretna klasa StudentDaoImpl implementuje interfejs obiektu dostępu do danych. StudentDao zostanie użyty przez DaoPatternDemo, naszą klasę demonstracyjną, aby pokazać, jak używać wzorca Data Access Object.
Krok 1:
Tworzenie obiektu wartości.
jednostka arytmetyczno-logiczna
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; } }
Krok 2:
Tworzenie interfejsu obiektu dostępu do danych.
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); }
Krok 3:
Skonstruuj klasę implementującą powyższy interfejs.
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'); } }
Krok 4:
Wykorzystaj StudentDao, aby zilustrować, jak używać wzorca obiektu dostępu do danych.
jak zablokować reklamy YouTube na Androidzie
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() + ' ]'); } }
Krok 5:
Sprawdź wyniki.