logo

DAO klasa u Javi

Objekt pristupa podacima obrasci, često poznati kao NOŽ obrasci, koriste se za odvajanje poslovnih usluga visoke razine od podataka niske razine koji pristupaju API-jima ili radnjama. Članovi obrasca objekta pristupa podacima navedeni su u nastavku.

supw

Sučelje objekta pristupa podacima: Sučelje objekta pristupa podacima specificira uobičajene operacije koje se trebaju izvršiti na objektu(ima) modela.

Konkretna klasa objekta pristupa podacima: Ova klasa implementira gore spomenuto sučelje. Ova klasa je zadužena za dobivanje podataka iz izvora podataka, koji može biti baza podataka, XML ili neka druga vrsta sustava za pohranu.

Model ili objekt vrijednosti: Ovaj objekt je jednostavan POJO s get/set metodama za pohranu podataka dobivenih korištenjem DAO klase.

Provedba

Izradit će se studentski objekt koji će se koristiti kao model i vrijednosni objekt.

Data Access Object Interface naziva se StudentDao.

Konkretna klasa StudentDaoImpl implementira Data Access Object Interface. StudentDao će koristiti DaoPatternDemo, naša demo klasa, da pokaže kako koristiti obrazac Data Access Object.

DAO klasa u Javi

Korak 1:

Stvaranje vrijednosnog objekta.

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; } } 

Korak 2:

obj u Javi

Stvaranje sučelja objekta pristupa podacima.

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); } 

Korak 3:

Konstruirajte klasu koja implementira gore spomenuto sučelje.

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'); } } 

Korak 4:

bash podijeli niz prema razdjelniku

Upotrijebite StudentDao kako biste ilustrirali kako koristiti obrazac 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() + ' ]'); } } 

Korak 5:

Provjerite rezultate.

DAO klasa u Javi