Latest web development tutorials

Padrão Data Access Object

Modelo Data Access Object (Data Access Padrão Object) ou padrão DAO para o baixo nível de acesso de dados API ou separada da operação de serviços empresariais avançados. O que se segue é um participante no padrão Data Access Object.

  • Objetos de interface de acesso a dados (Data Access objeto de interface) - Esta interface define as operações-padrão em um modelo de objeto a ser executado.
  • Data Access Objects classes de entidade (Data Access classe concreta Object) - Esta classe implementa as interfaces acima.Esta classe é responsável pela obtenção dos dados da fonte de dados, a fonte de dados pode ser uma base de dados, pode ser XML, ou outro mecanismo de armazenamento.
  • Object Model / objectos de valor (Object Model / Valor Object) - O objeto é POJO simples, inclui métodos get / set para armazenar usando classes DAO para recuperar dados.

realização

Vamos criar um objeto de modelo de objetoStudentou objeto de valor como.StudentDaointerface de objetos de acesso a dados.StudentDaoImplclasse de entidade é conseguir uma interface de objetos de acesso a dados.DaoPatternDemo,a nossa classe de demonstração para demonstrar o uso do padrão ObjetoStudentDaoacesso a dados de uso.

Acesso a dados de objeto padrão UML diagrama

passo 1

Criar um objeto de valor.

Student.java

Estudante classe pública {
   private String nome;
   rollNo int privado;

   Student (String nome, int rollNo) {
      this.name = nome;
      this.rollNo = rollNo;
   }

   Cadeia getName pública () {
      nome de retornar;
   }

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

   getRollNo int pública () {
      voltar rollNo;
   }

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

passo 2

Criar uma interface de objecto de acesso de dados.

StudentDao.java

import java.util.List;

StudentDao interface pública {
   públicas List <Student> getAllStudents ();
   pública Student getStudent (int rollNo);
   updateStudent public void (estudante Student);
   deleteStudent public void (estudante Student);
}

passo 3

Criar classe de entidade implementa as interfaces acima.

StudentDaoImpl.java

importação java.util.ArrayList;
import java.util.List;

classe pública StudentDaoImpl implementa StudentDao {
	
   // Lista é um banco de dados como um List <Student> estudantes;

   StudentDaoImpl pública () {
      estudantes = new ArrayList <Student> ();
      student1 Student = new Student ( "Robert", 0);
      student2 Student = new Student ( "John", 1);
      students.add (student1);
      students.add (student2);		
   }
   @Override
   deleteStudent public void (estudante Student) {
      students.remove (student.getRollNo ());
      System.out.println ( "Student: Role No" + student.getRollNo () 
         + ", Excluído do banco de dados");
   }

   // Recuperar a lista de alunos a partir do banco de dados @Override
   Lista pública <Student> getAllStudents () {
      voltar estudantes;
   }

   @Override
   pública Student getStudent (int rollNo) {
      regresso students.get (rollNo);
   }

   @Override
   updateStudent public void (estudante Student) {
      students.get (student.getRollNo ()) setName (student.getName ()) .;
      System.out.println ( "Student: Role No" + student.getRollNo () 
         + ", Atualizado no banco de dados");
   }
}

passo 4

StudentDaopara demonstrar o uso do padrão Data Access Object de uso.

CompositeEntityPatternDemo.java

DaoPatternDemo classe pública {
   main (String [] args) public static void {
      StudentDao studentDao = new StudentDaoImpl ();

      // saída todos os estudantes para (estudante Student: studentDao.getAllStudents ()) {
         System.out.println ( "Estudante: [RollNo:"
            + Student.getRollNo () + ", nome:" + student.getName () + "]");
      }


      // Estudante Atualização Estudante Estudante = studentDao.getAllStudents () get (0) .;
      student.setName ( "Michael");
      studentDao.updateStudent (estudante);

      // Obter estudantes studentDao.getStudent (0);
      System.out.println ( "Estudante: [RollNo:"
         + Student.getRollNo () + ", nome:" + student.getName () + "]");		
   }
}

passo 5

Verifique saída.

Estudante: [RollNo: 0, Nome: Robert]
Estudante: [RollNo: 1, Nome: John]
Estudante: Role Não 0, atualizado no banco de dados
Estudante: [RollNo: 0, Nome: Michael]