Данное приложение написано на языке Java и реализуюет функционал консольного клиента для работы с конкретной базой
данных. Интерфейс приложения англоязычный
Для работоспособности программы необходима установка СУБД PostgreSQL
Есть возможность сборки проекта через maven в jar файл с последующим его запуском из консоли (сборку проекта через
командную строку выполнять через команду "mvn clean compile assembly:single" из корневой папки приложения)
Проект отвечает следующим требованиям:
- Использует паттерн MVC;
- Имеет консольный интерфейс взаимодействия с пользователем, то есть реализован ввод команд с клавиатуры и вывод результатов на экран;
- Реализованы следующие консольные команды:
сonnect
- Команда для подключения к соответствующей БД
- Форматы команды:
- a) connect - для автоматического входа в БД с использованием файла конфигурации config.properties
- b) connect | database | username | password
- где: database - имя БД
- username - имя пользователя БД
- password - пароль пользователя БД
- Формат вывода: текстовое сообщение с результатом выполнения операции
help
- Команда выводит в консоль список всех доступных команд
- Формат: help (без параметров)
- Формат вывода: текст, описания команд
list
- Команда выводит список всех таблиц текущей БД
- Формат: tables (без параметров)
- Формат вывода: [table1, table2, table3]
create
- Команда создает новую таблицу с заданными полями
- Формат: create (без параметров)
- ввод имени таблицы tableName с последующией проверкой имени на уникальность
- ввод имени и типов колонок в формате: "col1Name|dataType1|col2Name|dataType2...col#Name|dataType#"
- Формат вывода: текстовое сообщение с результатом выполнения операции
show
- Команда для получения содержимого указанной таблицы
- Формат: show|tableName
- где tableName - имя таблицы для отображения
- Формат вывода: в консольном формате, в виде таблицы с разделением спец.символами
insert
- Команда для вставки одной строки в заданную таблицу
- Формат: insert|tableName|col1Name|value1|col2Name|value2|...col#Name|value#
- где tableName - имя таблицы для отображения
- где col#Name - имя столбца '#' записи которое проверяется
- где value# - значение которому должен соответствовать столбец '#' для обновляемой записи
- Формат вывода: текстовое сообщение с результатом выполнения операции
updateTable
- Команда для изменения строк в заданной таблице по заданному условию
- Формат: updateTable|tableName|
- где tableName - имя таблицы для отображения
- ввод имени столбца таблицы с последующией проверкой его существования
- ввод значения столбца таблицы с последующией проверкой его существования
- ввод данных для обновления в формате col1Name|value1|col2Name|value2|...col#Name|value#
- где col#Name - имя столбца '#' записи которое проверяется
- где value# - значение которому должен соответствовать столбец '#' для обновляемой записи
- Формат вывода: текстовое сообщение с результатом выполнения операции
delete
- Команда удаляет одну или несколько записей для которых соблюдается условие column = value
- Формат: delete | tableName | colName | value
- где tableName - имя таблицы для отображения
- где colName - имя столбца записи которое проверяется
- где value - значение которому должен соответствовать столбец для удаляемой записи
- Формат вывода: текстовое сообщение с результатом выполнения операции
clear
- Команда очищает все записи указанной таблицы
- Формат: clear | tableName
- где tableName - имя очищаемой таблицы
- Формат вывода: текстовое сообщение с результатом выполнения операции
drop
- Команда удаляет заданную таблицу
- Формат: drop | tableName
- где tableName - имя удаляемой таблицы
- Формат вывода: текстовое сообщение с результатом выполнения операции
exit
- Команда для отключения от БД и выход из приложения
- Формат: exit (без параметров)
- Формат вывода: текстовое сообщение "Good Luck!"