Guint / JavaRushTest

JavaRushTestTask

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JavaRush TestTask

Technologies:

  • Maven
  • Tomcat 8
  • Spring
  • Hibernate
  • MySQL

DataBase script src\main\resources\dataBaseScript.sql Database settings - database.properties

Task

У вас есть всего 1 таблица book. В ней хранится список книг (например, на книжной полке).

Книги на полку можно добавлять (create), брать посмотреть (read), заменять на новый выпуск (update), убирать (delete).

Данные, которые должны быть в таблице:

  • id – идентификатор книги в БД;
  • title – название книги. Можно использовать тип VARCHAR(100);
  • description – краткое описание о чем книга. Можно использовать тип VARCHAR(255);
  • author – фамилия и имя автора. Можно использовать тип VARCHAR(100);
  • isbn – ISBN книги. Можно использовать тип VARCHAR(20);
  • printYear – в каком году напечатана книга (INT);
  • readAlready – читал ли кто-то эту книгу. Это булево поле.

Бизнес-требование: при редактировании может быть 2 варианта поведения:

  • Книгу прочитали, и тогда изменяется только поле readAlready, и только, если оно было false. Значения поля должно стать true.
  • Книгу заменили на новое издание. В этом случае должна быть возможность изменить title, description, isbn, printYear. А поле readAlready нужно выставить в false. Поле author должно быть неизменяемым с момента создания книги.

Необходимо реализовать стандартное CRUD приложение, которое отображаем список всех книг в базе (с пейджингом по 10 книг на странице).

С возможностью их удаления, редактирования, добавления новых, и поиска по уже существующим.

По какому полю искать – каждый решает для себя сам. Можно ограничиться полем title, но согласитесь удобно просмотреть книги, которые еще не читал или которые вышли после 2016 года.

About

JavaRushTestTask


Languages

Language:Java 100.0%