Необходимо ознакомиться с заготовкой и доработать приложение, которое взаимодействует с базой оперируя пользователем ( класс User ) и проверить свои методы заранее написанными JUnit тестами. По итогу все тесты должны быть пройдены. Разрешается посмотреть реализацию тестов.
Для запуска теста необходимо найти класс в папке test ( показано в предыдущей лекции ) и при нажатии на него правой кнопкой мыши запустить, выбрав Run "Имя класса".
Класс UserHibernateDaoImpl в рамках этой задачи не затрагивается (остаётся пустой).
User представляет из себя сущность с полями:
- Long id
- String name
- String lastName
- Byte age
Архитектура приложения создана с опорой на паттерн проектирования MVC ( частично, у нас не WEB приложение).
- Классы dao/service должны реализовывать соответствующие интерфейсы
- Класс dao должен иметь конструктор пустой/по умолчанию
- Все поля должны быть private
- service переиспользует методы dao
- Обработка всех исключений, связанных с работой с базой данных должна находиться в dao
- Класс Util должен содержать логику настройки соединения с базой данных
- Создание таблицы для User(ов) – не должно приводить к исключению, если такая таблица уже существует
- Удаление таблицы User(ов) – не должно приводить к исключению, если таблицы не существует
- Очистка содержания таблицы
- Добавление User в таблицу
- Удаление User из таблицы ( по id )
- Получение всех User(ов) из таблицы
В методе main класса Main должны происходить следующие операции:
- Создание таблицы User(ов)
- Добавление 4 User(ов) в таблицу с данными на свой выбор. После каждого добавления должен быть вывод в консоль ( User с именем – name добавлен в базу данных )
- Получение всех User из базы и вывод в консоль ( должен быть переопределен toString в классе User)
- Очистка таблицы User(ов)
- Удаление таблицы
В прошлой задаче мы познакомились с Maven и JDBC, доработали приложение, взаимодействующее с базой данных.
На этот раз обратим внимание на класс UserHibernateDaoImpl, который реализует тот же интерефейс, что и UserDaoJdbcImpl.
В рамках этой задачи необходимо реализовать взаимодействие с базой данных с помощью Hibernate и дописать методы в классе UserHibernateDaoImpl, проверить свои методы заранее написанными JUnit тестами из заготовки.
##Требования к классам приложения:
- UserHibernateDaoImpl должен реализовывать интерефейс UserDao
- В класс Util должна быть добавлена конфигурация для Hibernate ( рядом с JDBC), без использования xml.
- Service на этот раз использует реализацию dao через Hibernate
- Методы создания и удаления таблицы пользователей в классе UserHibernateDaoImpl должны быть реализованы с помощью SQL.
Алгоритм приложения и операции не меняются в сравнении с предыдущим заданием.