Как заставить классы следовать контракту для определения оператора DB-insert? - PullRequest
0 голосов
/ 20 декабря 2018

Мой вопрос носит концептуальный характер, так как мне действительно не хватает опыта в этой области.

Ситуация следующая:

У меня есть база данных, которая сейчас содержит 2 таблицы, но яне уверен, что в будущем будут следовать другие таблицы, и мне придется написать разные программы чтения, которые преобразуют данные из разных форматов файлов / дампов данных в соответствующие объекты java и подготавливают их для вставки в БД.

Я подумал, что было бы неплохо заставить мои java-классы, которые имеют представление в виде таблицы, содержать метод createPreparedStatementInsert(...) (или аналогичный), который возвращает JDBC PreparedStatement для вставки данныхв соответствующие таблицыЗаявление, поскольку мое намерение состоит в том, чтобы сгенерировать его только один раз, а затем повторно использовать для пакетного добавления большого количества данных (из любого процесса синтаксического анализа какого-либо внешнего файла).

Но статические методы в интерфейсе не применяются к классу реализации во время компиляции.

Итак: как бы я это сделал, не потеряв проверку корректности во время компиляции?

Надеюсь, понятно, чего я пытаюсь достичь.

Если сама идея является неправильным подходом к этой проблеме, не стесняйтесь говорить мне.Я прочитал достаточно вопросов по SO, где основной результат состоял в том, что OP попытался решить не ту проблему, и я рад узнать лучшие способы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...