Objekt prístupu k údajom vzory, často známe ako Nôž vzory, sa používajú na oddelenie obchodných služieb na vysokej úrovni od údajov na nízkej úrovni s prístupom k API alebo akciám. Členovia vzoru objektu prístupu k údajom sú uvedení nižšie.
trvanie java
Rozhranie objektu prístupu k údajom: Rozhranie Data Access Object Interface špecifikuje bežné operácie, ktoré sa majú vykonať na objekte modelu (objektoch).
Trieda konkrétneho objektu prístupu k údajom: Táto trieda implementuje vyššie uvedené rozhranie. Táto trieda má na starosti získavanie údajov zo zdroja údajov, ktorým môže byť databáza, XML alebo iný typ úložného systému.
Model alebo objekt hodnoty: Tento objekt je priamočiare POJO s metódami get/set na ukladanie údajov získaných pomocou triedy DAO.
Implementácia
Vytvorí sa objekt študenta a použije sa ako model aj ako hodnotový objekt.
Data Access Object Interface sa nazýva StudentDao.
Konkrétna trieda StudentDaoImpl implementuje Data Access Object Interface. StudentDao bude používať DaoPatternDemo, naša ukážková trieda, aby ukázala, ako používať vzor Data Access Object.
Krok 1:
Vytvorenie objektu hodnoty.
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:
Herečka Rakul Preet Singh
Vytvorenie rozhrania 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); }
Krok 3:
Vytvorte triedu, ktorá implementuje vyššie uvedené rozhranie.
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:
ukazovatele v c
Použite StudentDao na ilustráciu použitia vzoru Data Access Object.
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:
Skontrolujte výsledky.