logo

Třída DAO v Javě

Objekt pro přístup k datům vzory, často známé jako NŮŽ vzory, se používají k rozdělení obchodních služeb na vysoké úrovni od nízkoúrovňových dat s přístupem k API nebo akcím. Členové vzoru Data Access Object Pattern jsou uvedeni níže.

lambda funkce java

Rozhraní datového objektu: Rozhraní Data Access Object Interface specifikuje běžné operace, které mají být provedeny na objektu (objektech) modelu.

Třída Concrete Data Access Object: Tato třída implementuje výše uvedené rozhraní. Tato třída má na starosti získávání dat z datového zdroje, kterým může být databáze, XML nebo jiný typ úložného systému.

Model nebo objekt hodnoty: Tento objekt je přímočaré POJO s metodami get/set pro ukládání dat získaných pomocí třídy DAO.

Implementace

Studentský objekt bude vytvořen a použit jako model i jako hodnotový objekt.

Data Access Object Interface se nazývá StudentDao.

Konkrétní třída StudentDaoImpl implementuje rozhraní Data Access Object Interface. StudentDao bude používat DaoPatternDemo, naše ukázková třída, k ukázce, jak používat vzor Data Access Object.

Třída DAO v Javě

Krok 1:

Vytvoření hodnotového objektu.

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:

ukázkový kód java

Vytvoření rozhraní 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:

Vytvořte třídu, která implementuje výše uvedené rozhraní.

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:

1 miliarda až milion

Použijte StudentDao k ilustraci, jak používat vzor 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:

Zkontrolujte výsledky.

Třída DAO v Javě