Modelo de objetos de acceso a datos
Acceso a los datos del modelo de objetos (objetos de acceso a datos del patrón) o el patrón DAO para la API de acceso a datos de bajo nivel o separado de la gestión de servicios avanzados a las empresas. El siguiente es un participante en el patrón de objetos de acceso a datos.
- Interface Data Access Objects (datos de la interfaz de acceso a objetos) - Esta interfaz define las operaciones estándar en el modelo de objetos para ser ejecutados.
- Data Access Objects (clases de entidad de acceso a datos de objetos de la clase de concreto) - Esta clase implementa las interfaces anteriores.Esta clase es responsable de conseguir datos de la fuente de datos, la fuente de datos puede ser una base de datos, puede ser XML, o de otro mecanismo de almacenamiento.
- objetos de valor (Object Model / Valor del objeto Object Model) / - El objeto es POJO simple, incluye obtener / métodos set para almacenar mediante el uso de clases DAO para recuperar los datos.
realización
Vamos a crear un objeto de modelo de objetosde Estudiantesu objeto como valor.StudentDaointerfaz de acceso a datos de objetos.StudentDaoImplclase de entidad es lograr una interfaz de objetos de acceso a datos.DaoPatternDemo,nuestra clasedemanifestación para demostrar el uso del modelo de objetos de acceso a datosStudentDaode uso.
Paso 1
Crear un objeto de valor.
Student.java
Estudiante public class { private String nombre; rollNo int privado; Estudiante (String nombre, int rollNo) { this.name = nombre; this.rollNo = rollNo; } Public String getName () { Nombre del retorno; } pública setName void (String nombre) { this.name = nombre; } public int getRollNo () { volver rollNo; } public void setRollNo (int rollNo) { this.rollNo = rollNo; } }
Paso 2
Crear una interfaz de objetos de acceso a datos.
StudentDao.java
java.util.List importación; StudentDao interfaz pública { Lista públicos <estudiante> getAllStudents (); Estudiante pública getStudent (int rollNo); updateStudent public void (estudiante Estudiante); deleteStudent public void (estudiante Estudiante); }
paso 3
Crear clase de entidad implementa las interfaces anteriores.
StudentDaoImpl.java
java.util.ArrayList importación; java.util.List importación; clase pública implementa StudentDaoImpl StudentDao { // Lista es una base de datos como una lista <estudiante> estudiantes; StudentDaoImpl público () { estudiantes = new ArrayList <Estudiante> (); STUDENT1 estudiante = new Estudiante ( "Robert", 0); student2 estudiante = new Estudiante ( "John", 1); students.add (STUDENT1); students.add (student2); } @ Override pública deleteStudent vacío (estudiante Estudiante) { students.remove (student.getRollNo ()); System.out.println ( "Estudiante: Rodillo No" + student.getRollNo () + ", Se elimina de la base de datos"); } // Recuperar la lista de estudiantes de la base de datos @ Override Lista pública <estudiante> getAllStudents () { Los estudiantes regresan; } @ Override pública getStudent Estudiante (int rollNo) { students.get (rollNo) return; } @ Override pública updateStudent vacío (estudiante Estudiante) { students.get (student.getRollNo ()) setName (student.getName ()) .; System.out.println ( "Estudiante: Rodillo No" + student.getRollNo () + ", Actualizado en la base de datos"); } }
Paso 4
StudentDaopara demostrar el uso de la pauta de objetos de acceso a datos de uso.
CompositeEntityPatternDemo.java
DaoPatternDemo public class { principales argumentos (String []) {public static void StudentDao studentDao = new StudentDaoImpl (); // salida para todos los estudiantes (estudiante Estudiante: studentDao.getAllStudents ()) { System.out.println ( "Estudiante: [RollNo:" + Student.getRollNo () + ", nombre:" + student.getName () + "]"); } // Estudiante actualización del Estudiante = studentDao.getAllStudents get () (0) .; student.setName ( "Michael"); studentDao.updateStudent (estudiante); // Obtener los estudiantes studentDao.getStudent (0); System.out.println ( "Estudiante: [RollNo:" + Student.getRollNo () + ", nombre:" + student.getName () + "]"); } }
paso 5
Verifique la salida.
Estudiante: [RollNo: 0, Nombre: Robert] Estudiante: [RollNo: 1, nombre: John] Estudiante: Rollo nº 0, actualizada en la base de datos Estudiante: [RollNo: 0, Nombre: Michael]