В java есть слой DAO, услуга, DTO, контролер, юридическое лицо. Я получил в DTO, что мы создаем таблицу базы данных, поскольку сущность - это класс POJO. Контроллер - это то место, где мы пишем вызов веб-службы, используя джерси или какой-то весенний контроллер (RequestMapping ...).
Но я не говорю об уровне обслуживания и уровне DAO. В слое DAO мы пишем о доступе к базе данных. А на уровне сервиса мы пишем реализацию о веб-сервисах. Итак, используем ли мы объект dao на уровне обслуживания. Я хочу знать краткое представление об этом уровне обслуживания и уровне DAO.




Похоже, вы правильно поняли.
DAO - это часть, которая фактически подключается к базе данных и сохраняет / извлекает данные, а уровень сервиса содержит окружающую бизнес-логику. DAO обычно вызывается из уровня сервиса.
Хорошая практика состоит в том, чтобы поместить в DAO как можно меньше бизнес-логики и вместо этого оставить это на уровне сервиса.
Это разные логические объекты:
Основная идея состоит в том, чтобы не позволять конечным точкам (@Controller, @RestController) напрямую манипулировать уровнем базы данных.
DAO is a data access object, is an object that provides an abstract interface to database. The DAO provides some specific data operations without exposing details of the database
Но у DAO нет конкретной бизнес-логики или ее не должно быть, если у вас есть больше бизнес-логики для применения помимо операций CRUD, вам также понадобится уровень обслуживания.
This DAO can do CRUD operations, it can Create, Retreive, Updata, Delete from our table.
Интерфейс нашего DAO должен быть таким:
public interface UserDao {
User getUser();
Set<User> getAllUsers();
User getUserByUserNameAndPassword();
boolean insertUser();
boolean updateUser();
boolean deleteUser();
}
Уровень обслуживания возьмет на себя бизнес-логику, если вам нужно проверить доступ перед выполнением операций CRUD или ведения журнала, это некоторые примеры.
В архитектуре Контроллер -> уровень обслуживания -> DAO -> сущности ... Контроллер имеет ссылку на уровень сервиса, а сервис имеет ссылку на DAO.
Дополнительная информация по этим ссылкам: https://dzone.com/articles/building-simple-data-access-layer-using-jdbchttps://en.wikipedia.org/wiki/Data_access_object