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.
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]