Вебинар про взаимодействие с базами данных из Java. Рассматривается подход к интеграции с БД и управление схемой. Даются практические советы по запуску приложения и тестированию.
Java и базы данных. Вебинар для МЭИ от Марка Андреева
1. Java и базы данных
Вебинар для студентов из МЭИ
[ декабрь 2023 ]
Марк Андреев
mark.andreev@gmail.com
2. Почему Java?
- Самый популярный язык для создания enterprise приложений
- Сформированы и распространены “Best practices”
- Большое количество специалистов на рынке
- Богатый функционал Java Runtime
- Широкий выбор библиотек под различные задачи
Java и Базы данных | Вебинар для студентов из МЭИ
3. Типичное приложение на Java
Java и Базы данных | Вебинар для студентов из МЭИ
Load balancer Application
Database
4. Типичное приложение на Java [микросервисы]
Java и Базы данных | Вебинар для студентов из МЭИ
Load balancer Application
Database
Application
Database
5. Типовые задачи
Java и Базы данных | Вебинар для студентов из МЭИ
Application
Database
1. Чтение и изменение данных
2. Управление схемой данных
6. Чтение и изменение данных
Java и Базы данных | Вебинар для студентов из МЭИ
Application
Database
JDBC
ORM
7. Чтение и изменение данных
Java и Базы данных | Вебинар для студентов из МЭИ
Application
Database
JDBC
ORM
8. Управление схемой данных
Java и Базы данных | Вебинар для студентов из МЭИ
Application
Database
- Flyway [sql oriented]
- Liquibase [config oriented with embedded sql / java* ]
Changeset
Changeset
Changeset
9. Как сделать новое приложение из шаблона?
Java и Базы данных | Вебинар для студентов из МЭИ
https://start.spring.io
10. Как запустить локально базу данных?
Java и Базы данных | Вебинар для студентов из МЭИ
- docker-compose для интерактивной отладки
- Testcontainers для тестов
11. Итог
Java и Базы данных | Вебинар для студентов из МЭИ
- Java лучшее решение для разработки корпоративного ПО
- Интеграция с базой данный реализуется через JDBC + ORM [Hibernate, Jooq,
..]
- Для управления схемой используется Flyway / Liquibase
- Для локального тестирования базу можно запустить с помощью
docker-compose
- Для тестов лучше использовать базу данных из testcontainers