Latest web development tutorials

Data Access Object Motif

Modèle d'accès aux données de l'objet (Data Access Object Pattern) ou un motif de DAO pour l'API d'accès aux données de bas niveau ou séparé de l'exploitation des services d'affaires avancées. Ce qui suit est un participant dans le modèle de Data Access Object.

  • Objets d' interfaced'accèsauxdonnées (Interface Data Access Object) -Cette interface définit les opérations standard sur un objet de modèle à exécuter.
  • Data Access Objects classes d'entités (Data Access Object classe béton) - Cette classe implémente les interfaces ci - dessus.Cette classe est responsable de l'obtention des données à partir de la source de données, la source de données peut être une base de données, il peut être XML, ou un autre mécanisme de stockage.
  • Modèle Objet / objets de valeur (modèle d'objet / Value Object) - L'objet est simple POJO, comprend get / méthodes set pour stocker en utilisant des classes DAO pour récupérer des données.

réalisation

Nous allons créer un objet de modèle d'objetdel'élèveou de l' objet de valeur.StudentDaoaccès aux données interface d'objet.StudentDaoImplclasse d'entité est de réaliser une interface d'objet d'accès aux données.DaoPatternDemo,notre classe de démonstration pour démontrer l'utilisation deStudentDaoData Access modèle d'objet d'utilisation.

Data Access Object modèle diagramme UML

Etape 1

Créer un objet de valeur.

Student.java

public class Étudiant {
   private String nom;
   int rollNo privé;

   Étudiant (String name, int rollNo) {
      this.name = nom;
      this.rollNo = rollNo;
   }

   public String getName () {
      Nom de retour;
   }

   setName public void (String name) {
      this.name = nom;
   }

   public int getRollNo () {
      retour rollNo;
   }

   public void setRollNo (int rollNo) {
      this.rollNo = rollNo;
   }
}

Etape 2

Créer une interface d'objet d'accès aux données.

StudentDao.java

import java.util.List;

interface publique StudentDao {
   publics Liste <étudiants> getAllStudents ();
   publique Student getStudent (int rollNo);
   updateStudent public void (étudiant de l'étudiant);
   deleteStudent public void (étudiant de l'étudiant);
}

Etape 3

Créer classe d'entité implémente les interfaces ci-dessus.

StudentDaoImpl.java

import java.util.ArrayList;
import java.util.List;

public class StudentDaoImpl implémente StudentDao {
	
   // Liste est une base de données sous forme de liste <étudiants> étudiants;

   StudentDaoImpl publique () {
      étudiants = new ArrayList <Student> ();
      student1 Student = new Student ( "Robert", 0);
      Etudiant2 Student = new Student ( "John", 1);
      students.add (student1);
      students.add (Etudiant2);		
   }
   @Override
   deleteStudent public void (étudiant de l'étudiant) {
      students.remove (student.getRollNo ());
      System.out.println ( "Student: roll Non" + student.getRollNo () 
         + ", Supprimé la base de données");
   }

   // Récupération de la liste des étudiants de la @Override de base de données
   Liste publique <étudiants> getAllStudents () {
      retour étudiants;
   }

   @Override
   publique Student getStudent (int rollNo) {
      retour students.get (rollNo);
   }

   @Override
   updateStudent public void (étudiant de l'étudiant) {
      students.get (student.getRollNo ()) setName (student.getName ()) .;
      System.out.println ( "Student: roll Non" + student.getRollNo () 
         + ", Actualisée dans la base de données");
   }
}

Etape 4

StudentDaopour démontrer l'utilisation du modèle d'objet d' accès aux données d'utilisation.

CompositeEntityPatternDemo.java

public class DaoPatternDemo {
   main (String [] args) {public static void
      StudentDao studentDao = new StudentDaoImpl ();

      // sortie tous les élèves pour (étudiant de l'étudiant: studentDao.getAllStudents ()) {
         System.out.println ( "Student: [RollNo:"
            + Student.getRollNo () + ", Nom:" + student.getName () + "]");
      }


      // Étudiant Update Student Student = studentDao.getAllStudents () get (0) .;
      student.setName ( «Michael»);
      studentDao.updateStudent (étudiant);

      // Obtenir étudiants studentDao.getStudent (0);
      System.out.println ( "Student: [RollNo:"
         + Student.getRollNo () + ", Nom:" + student.getName () + "]");		
   }
}

Etape 5

Vérifiez la sortie.

Étudiant: [RollNo: 0, Nom: Robert]
Étudiant: [RollNo: 1, Nom: John]
Étudiant: Rouler No 0, mis à jour dans la base de données
Étudiant: [RollNo: 0, Nom: Michael]