Объект доступа к данным (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-запросы по базе данных и затем извлекать результаты по одному столбцу за раз.