- Практика на Java 17.
- Поработать с базой данных через JDBC и пул соединений.
- Спроектировать базу данных и написать запросы на SQL.
- Практика написания тестов.
В задание необходимо выполнить следующие действия на Java используя JDBC:
- организацию соединения с базой данных вынести в отдельный класс, метод которого возвращает соединение;
- создать БД, привести таблицы к одной из нормальных форм;
- создать класс для выполнения запросов на извлечение информации из БД с использованием компилированных запросов.
В БД хранится информация о домашней видеотеке: фильмы, актеры, режиссеры.
Для фильмов необходимо хранить:
- название;
- имена актеров;
- дату выхода;
- страну, в которой выпущен фильм.
Для актеров и режиссеров необходимо хранить:
- ФИО;
- дату рождения.
Необходимо реализовать запросы:
- Найти все фильмы, вышедшие на экран за последние N лет.
- Вывести информацию об актерах, снимавшихся в заданном фильме.
- Вывести информацию об актерах, снимавшихся как минимум в N фильмах.
- Вывести информацию об актерах, которые были режиссерами хотя бы одного из фильмов.
- Удалить все фильмы, дата выхода которых была более заданного числа лет назад.
- Java 17.
- Junit 4.
- Maven.
- PostgreSQL.
- HikariCP.
- Скрипт для создания таблиц
schema.sql
. - Скрипт для заполнения таблиц значениями
data.sql
. - Скрипт для уничтожения таблиц
destroy.sql
. - Запросы описаны в
QueriesToDataBaseFromTaskDescription.java
и реализованы вVideoLibraryService.java
. - Демонстрация в
App.java
. - Тест соединения с базой в
DataBaseConnectionCreatorTest.java
. - Тестирование запросов в
VideoLibraryServiceTest.java
.
- Установить параметры для подключения к базе в
application.properties
или создать базу с указанными параметрами. - Подключаться к базе данных, используя
psql
. - Инициализировать таблицы из файла:
\i ./schema.sql
- Заполнить таблицы значениями:
\i ./data.sql
- Запустить
App.java
.