Передо мной стояла задача по реализации консольного CRUD приложения, которое взаимодействует с БД и позволяет выполнять все CRUD операции над сущностями:
Writer(id, name, List posts)
Post(id, content, Long created, Long updated, List labels)
Label(id, name)
PostStatus (enum ACTIVE, DELETED)
Слои:
model - POJO классы
repository - классы, реализующие доступ к текстовым файлам
controller - обработка запросов от пользователя
view - все данные, необходимые для работы с консолью
Требования к приложению:
- Придерживаться шаблона MVC (пакеты model, repository, controller, view)
- Для миграции БД использовать Liquibase
- Сервисный слой приложения должен быть покрыт юнит тестами (junit + mockito)
- Для импорта библиотек использовать Maven
Для подключения к БД необходимо предварительно указать Ваши пароль, имя пользователя и название БД в классе DatabaseConnection.
Технологии: JavaSE8+, MySQL, JDBC, Maven, Liquibase, JUnit, Mockito.