Материалы
- ScalikeJDBC - библиотека для работы с реляционными БД в Scala
- Документация: http://scalikejdbc.org/
- SCOPT - библиотека по разбору командной строки
- Документация: https://github.com/scopt/scopt
Проект: lession12.zip
Задание
В классе org.mai.dep810.scala.stackoverflow.Main реализовать функционал работы с БД,через командную строку. Описание структуры командной строки:
StackOverflowLoader 1.0 Usage: StackOverflowLoader [load|clean|init|extract] Command: load [options] Load - это команда загрузки данных из файлов --path <value> Путь к папке с файлами -a, --append Не удалять данные при загрузке. По умолчанию данные будут перезатираться Command: clean [options] Удалить данные из базы данных -dt, --dropTables Удалить таблицы Command: init [options] Создать таблицы -f, --forse Пересоздать таблицы, если существуют Command: extract [options] Выгрузить данные в csv формате -q, --query Запрос на выбор данных --file Файл, куда выгрузятся данные
База данных сконфигурирована в файле src/main/resources/application.conf :
so { driver = "org.h2.Driver" url = "jdbc:h2:file:./stackOverflowDB" user = "user" password = "pass" poolInitialSize = 5 poolMaxSize = 7 poolConnectionTimeoutMillis = 3000 poolValidationQuery = "select 1 as one" }
Для работы с БД предлагается использовать scalikejdbc.
Для разбора командной строки предлагается использовать библиотеку scopt.