Latest web development tutorials

Шаблон объекта доступа к данным

Доступ к данным модели объекта (доступ к данным объекта Pattern) или DAO шаблон для API доступа к данным низкого уровня или отделена от работы передовых бизнес-услуг. Ниже является участником шаблона объекта доступа к данным.

  • Объекты Интерфейс передачи данных доступа ( для доступакинтерфейсу объекта данных) -Этот интерфейс определяет стандартные операции на модельном объекте должны быть выполнены.
  • Доступ к данным объектов классов сущностей (Data Access Object класс бетона) -Этот класс реализует вышеуказанные интерфейсы. Этот класс отвечает за получение данных из источника данных, источник данных может представлять собой базу данных, он может быть XML, или другой механизм для хранения.
  • Модель объекта / значение объектов (Object Model / Value Object) - Объект прост POJO, включает в себя получить / установить методы для хранения с помощью классов DAO для извлечения данных.

реализация

Мы создадим объектStudentмодели объекта или значение объекта как. объект интерфейса доступа к даннымStudentDao.StudentDaoImpl класс сущности является достижение интерфейс объекта доступа к данным.DaoPatternDemo,наша демонстрация класса , чтобы продемонстрировать использованиеStudentDaoдоступа к данным шаблона объекта использования.

Доступ к данным объекта модели UML диаграмма

Шаг 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]