Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программная инженерия. Курсовые / Курсовая. Разработка серверной части сайта Электронный книжный магазин.docx
Скачиваний:
0
Добавлен:
04.01.2026
Размер:
1.94 Mб
Скачать

2. Методы:

2.1. Конструкторы:

  • User() – конструктор по умолчанию для создания пустого объекта пользователя,

  • User(String username, String password, String email) – конструктор для регистрации нового пользователя.

2.2. Геттеры:

  • int getId() – возвращает идентификатор пользователя,

  • String getUsername() – возвращает имя пользователя,

  • String getPassword() – возвращает пароль (в учебных целях — в открытом виде),

  • String getEmail() – возвращает адрес электронной почты.

2.3. Сеттеры:

  • void setId(int id) – устанавливает идентификатор пользователя,

  • void setUsername(String username) – устанавливает имя пользователя с проверкой уникальности на уровне DAO,

  • void setPassword(String password) – устанавливает пароль пользователя,

  • void setEmail(String email) – устанавливает email с базовой валидацией формата.

5.1.3. Класс CartItem

Назначение: Класс CartItem представляет элемент корзины покупок, связывающий пользователя с конкретной книгой и указывающий количество выбранных экземпляров. Этот класс содержит как ссылки на связанные сущности, так и полную информацию о книге для удобства отображения.

1. Поля:

  • private int id – уникальный идентификатор элемента корзины,

  • private int userId – идентификатор пользователя-владельца корзины,

  • private int bookId – идентификатор книги в элементе корзины,

  • private int quantity – количество выбранных экземпляров книги,

  • private Book book – полный объект книги (загружается через JOIN запрос).

2. Методы:

2.1. Конструкторы:

  • CartItem() – конструктор по умолчанию,

  • CartItem(int userId, int bookId, int quantity) – конструктор для создания нового элемента корзины.

2.2. Геттеры:

  • int getId() – возвращает идентификатор элемента корзины,

  • int getUserId() – возвращает идентификатор пользователя,

  • int getBookId() – возвращает идентификатор книги,

  • int getQuantity() – возвращает количество выбранных экземпляров,

  • Book getBook() – возвращает полный объект книги.

2.3. Сеттеры:

  • void setId(int id) – устанавливает идентификатор элемента,

  • void setUserId(int userId) – устанавливает идентификатор пользователя,

  • void setBookId(int bookId) – устанавливает идентификатор книги,

  • void setQuantity(int quantity) – устанавливает количество с проверкой на положительное значение,

  • void setBook(Book book) – устанавливает объект книги (используется при загрузке из БД).

5.2. Слой доступа к данным (dao)

Этот раздел описывает промежуточный слой между бизнес-логикой и базой данных, реализующий паттерн Data Access Object (DAO).

5.2.1. Класс BookDao

Назначение: Класс BookDao (Data Access Object) отвечает за все операции взаимодействия с таблицей books в базе данных. Этот класс инкапсулирует логику SQL-запросов и предоставляет абстрактный интерфейс для работы с книжными данными.

1. Поля:

  • private static final String GET_ALL_BOOKS_SQL – SQL запрос для получения всего каталога книг,

  • private static final String DECREASE_QUANTITY_SQL – SQL запрос для уменьшения количества книг при покупке.