Шаблон объекта доступа к данным
Доступ к данным модели объекта (доступ к данным объекта Pattern) или DAO шаблон для API доступа к данным низкого уровня или отделена от работы передовых бизнес-услуг. Ниже является участником шаблона объекта доступа к данным.
- Объекты Интерфейс передачи данных доступа ( для доступакинтерфейсу объекта данных) -Этот интерфейс определяет стандартные операции на модельном объекте должны быть выполнены.
- Доступ к данным объектов классов сущностей (Data Access Object класс бетона) -Этот класс реализует вышеуказанные интерфейсы. Этот класс отвечает за получение данных из источника данных, источник данных может представлять собой базу данных, он может быть XML, или другой механизм для хранения.
- Модель объекта / значение объектов (Object Model / Value Object) - Объект прост POJO, включает в себя получить / установить методы для хранения с помощью классов DAO для извлечения данных.
реализация
Мы создадим объектStudentмодели объекта или значение объекта как. объект интерфейса доступа к даннымStudentDao.StudentDaoImpl класс сущности является достижение интерфейс объекта доступа к данным.DaoPatternDemo,наша демонстрация класса , чтобы продемонстрировать использованиеStudentDaoдоступа к данным шаблона объекта использования.
Шаг 1
Создание объекта значения.
Student.java
Открытый класс Student { частное имя строки; частное INT rollNo; Студент (имя String, Int rollNo) { this.name = имя; this.rollNo = rollNo; } Строка GetName общественности () { вернуть имя; } общественного недействительными SetName (имя String) { this.name = имя; } общественное INT getRollNo () { вернуть rollNo; } общественного недействительными setRollNo (Int rollNo) { this.rollNo = rollNo; } }
Шаг 2
Создание интерфейса объекта доступа к данным.
StudentDao.java
импорт java.util.List; Открытый интерфейс StudentDao { открытый список <Student> getAllStudents (); Студент общественного getStudent (INT rollNo); общественного недействительными updateStudent (Студент); общественного недействительными deleteStudent (Студент); }
Шаг 3
Создать класс сущностей реализует вышеуказанные интерфейсы.
StudentDaoImpl.java
импорт java.util.ArrayList; импорт java.util.List; Открытый класс StudentDaoImpl реализует StudentDao { // Список представляет собой базу данных в виде списка <Student> студентов; общественного StudentDaoImpl () { Студенты = новый ArrayList <Student> (); Студент student1 = новый студент ( "Роберт", 0); Студент student2 = новый студент ( "Джон", 1); students.add (student1); students.add (student2); } @Override общественного недействительными deleteStudent (Студент) { students.remove (student.getRollNo ()); System.out.println ( "Студент: раскатайте Нет" + student.getRollNo () + ", Удаленных из базы данных"); } // Получить список студентов из @Override базы данных открытый список <Student> getAllStudents () { возвращать студентов; } @Override Студент общественного getStudent (Int rollNo) { вернуть students.get (rollNo); } @Override общественного недействительными updateStudent (Студент) { students.get (student.getRollNo ()) SetName (student.getName ()) .; System.out.println ( "Студент: раскатайте Нет" + student.getRollNo () + ", Обновление в базе данных"); } }
Шаг 4
StudentDao, чтобы продемонстрировать использование шаблона доступа к данным объекта использования.
CompositeEntityPatternDemo.java
Открытый класс DaoPatternDemo { государственной статической силы основных (String []) {агдз StudentDao studentDao = новый StudentDaoImpl (); // Вывод всех студентов для (Студент: studentDao.getAllStudents ()) { System.out.println ( "Студент: [RollNo:" + Student.getRollNo () + ", имя:" + student.getName () + "]"); } // Обновление Студент студент = studentDao.getAllStudents () получаем (0) .; student.setName ( "Michael"); studentDao.updateStudent (студент); // Получить студентов studentDao.getStudent (0); System.out.println ( "Студент: [RollNo:" + Student.getRollNo () + ", имя:" + student.getName () + "]"); } }
Шаг 5
Проверьте выход.
Студент: [RollNo: 0, Имя: Роберт] Студент: [RollNo: 1, имя: Джон] Студент: раскатайте Нет 0, обновленный в базе данных Студент: [RollNo: 0, Имя: Michael]