Объект доступа к данным (DAO) в Java

Я просматривал документ, и я наткнулся на термин под названием DAO. Я узнал, что это объект доступа к данным. Может кто-нибудь, пожалуйста, объясните мне, что это на самом деле?

Я знаю, что это какой-то интерфейс для доступа к данным из разных типов источников, в середине этого небольшого исследования моего я столкнулся с концепцией, называемой источником данных или источником данных, и все перепуталось в мой разум.

Я действительно хочу знать, что a DAO является программным с точки зрения того, где он используется. Как он используется? Любые ссылки на страницы, которые объясняют эту концепцию из самых простых вещей, также приветствуются.

Ответ 1

Объект доступа к данным - это в основном объект или интерфейс, обеспечивающий доступ к базовой базе данных или любому другому хранилищу сохраняемости.

Это определение из: http://en.wikipedia.org/wiki/Data_access_object

Проверьте также схему последовательности: http://www.oracle.com/technetwork/java/dataaccessobject-138824.html

Возможно, простой пример поможет вам понять концепцию:

Скажем, у нас есть сущность для представления сотрудника:

public class Employee {

    private int id;
    private String name;


    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

}

Объекты-сотрудники будут сохраняться в соответствующей таблице Employee в базе данных. Простой интерфейс DAO для обработки операции с базой данных, необходимой для управления объектом сотрудника, будет выглядеть следующим образом:

interface EmployeeDAO {

    List<Employee> findAll();
    List<Employee> findById();
    List<Employee> findByName();
    boolean insertEmployee(Employee employee);
    boolean updateEmployee(Employee employee);
    boolean deleteEmployee(Employee employee);

}

Далее мы должны предоставить конкретную реализацию для этого интерфейса для работы с SQL-сервером, а другой - для работы с плоскими файлами и т.д.

Ответ 2

Что представляет собой объект DATA ACCESS OBJECT (DAO) -

Это объект/интерфейс, который используется для доступа к данным из базы данных хранения данных.

ПОЧЕМУ ИСПОЛЬЗУЕМ DAO:

он абстрагирует извлечение данных из ресурса данных, например базы данных. Концепция "отделяет клиентский интерфейс ресурса данных от механизма доступа к данным.

Проблема с непосредственным доступом к данным заключается в том, что источник данных может измениться. Рассмотрим, например, что ваше приложение развернуто в среде, которая обращается к базе данных Oracle. Затем он будет развернут в среде, использующей Microsoft SQL Server. Если ваше приложение использует хранимые процедуры и код базы данных (например, генерирует последовательность номеров), как вы справляетесь с этим в своем приложении? У вас есть два варианта:

  • Перепишите ваше приложение для использования SQL Server вместо Oracle (или добавьте условный код для обработки различий) или
  • Создайте слой между логикой приложения и доступом к данным.


Его все называют DAO Pattern, он состоит из следующих элементов:

  • Интерфейс объектов доступа к данным. Этот интерфейс определяет стандартные операции, которые должны выполняться на объектах модели.
  • Конкретный класс объекта доступа к данным. Этот класс реализует интерфейс выше. Этот класс отвечает за получение данных из источника данных, который может быть базой данных /xml или любым другим механизмом хранения.
  • Объект объекта или объекта модели. Этот объект является простым POJO, содержащим методы get/set для хранения данных, полученных с использованием класса DAO.

Пожалуйста, ознакомьтесь с этим примером. Это позволит более четко прояснить ситуацию.

Пример
Я предполагаю, что это должно было четко прояснить ваше понимание DAO.

Ответ 3

DAO (объект доступа к данным) является очень используемым шаблоном проектирования в корпоративных приложениях. В основном это модуль, который используется для доступа к данным из каждого источника (СУБД, XML и т.д.). Я предлагаю вам прочитать несколько примеров, например:

Пример DAO

Обратите внимание, что существуют различные способы реализации оригинального DAO Pattern, и есть много рамок, которые могут упростить вашу работу. Например, структуры ORM (Object Relational Mapping), такие как iBatis или Hibernate, используются для сопоставления результатов SQL-запросов с объектами Java.

Надеюсь, что это поможет, Bye!

Ответ 4

Я думаю, что лучший пример (наряду с объяснениями) можно найти на веб-сайте oracle: здесь. Еще один хороший tuturial можно найти здесь.

Ответ 5

Не путайте слишком много объяснений. DAO: от самого имени это означает "Доступ к данным с использованием объекта". DAO отделен от других бизнес-логик.

Ответ 6

Образ объекта доступа к данным или шаблон DAO используются для разделения доступа к API с низкими уровнями данных или операций с бизнес-сервисами высокого уровня. Ниже приведены участники шаблона объектов доступа к данным.

Интерфейс объекта доступа к данным - этот интерфейс определяет стандартные операции, которые должны выполняться на объектах модели.

Конкретный класс объекта доступа к данным. Этот класс реализует интерфейс выше. Этот класс отвечает за получение данных из источника данных, который может быть базой данных /xml или любым другим механизмом хранения.

Объект модели или объекта значения. Этот объект является простым POJO, содержащим методы get/set для хранения данных, полученных с использованием класса DAO.

Пример кода здесь.

http://www.dzone.com/links/r/java_ee_data_access_object_design_pattern_or_dao.html

Ответ 7

Объект доступа к данным управляет соединением с источником данных для получения и хранения данных. Он абстрагирует реализацию базового доступа к данным для бизнес-объекта, чтобы обеспечить прозрачный доступ к источнику данных. Источником данных может быть любая база данных, такая как RDBMS, репозиторий XML или плоская файловая система и т.д.

Ответ 8

DAO - это акт, похожий на "Persistence Manager" в трехуровневой архитектуре, а также DAO, а также шаблон дизайна, поскольку вы можете проконсультироваться с книгой "Банда четырех". Уровень вашего прикладного уровня просто нужно вызвать метод класса DAO, не зная скрытых и внутренних данных метода DAO.

Ответ 9

Pojo также рассматривается как класс Model в Java, где мы можем создать getter и setter для определенной переменной, определенной в private. Помните, что все переменные здесь объявлены с помощью частного модификатора

Ответ 10

Классы Dao используются для повторного использования логики jdbc, а Dao (Data Access Object) является шаблоном проектирования. dao - это простой класс java, который содержит логику JDBC.

Уровень доступа к данным оказался хорошим в отдельном уровне бизнес-логики и постоянном уровне. Шаблон проектирования DAO полностью скрывает реализацию доступа к данным от своих клиентов.

Объект доступа к данным Java (Java DAO) является важным компонентом в бизнес-приложениях. Бизнес-приложениям почти всегда необходим доступ к данным из реляционных или объектных баз данных, а платформа Java предлагает множество методов для доступа к этим данным. Самый старый и самый зрелый метод - использовать API Java Connectivity (JDBC), который предоставляет возможность выполнять SQL-запросы по базе данных и затем извлекать результаты по одному столбцу за раз.