как изолировать SQL-запросы от кода

#java #sql #jdbc

#java #sql #jdbc

Вопрос:

Мы разрабатываем приложение, которое использует JDBC API. Мы имеем дело с множеством запросов для различных вариантов использования. Есть идеи о том, как изолировать эти SQL-запросы из кода? Существует ли какой-либо шаблон или конфигурационный API, который помог бы управлять этими запросами?

Ответ №1:

Я не совсем уверен, о чем вы просите, но, возможно, настройка некоторых хранимых процедур обеспечила бы желаемый уровень абстракции…

Вы могли бы настроить хранимые процедуры для каждого варианта использования, и тогда запросы в вашем коде состояли бы просто из вызова различных процедур.

Ответ №2:

Для этого вы можете использовать MyBatis SQL Mapper. Вы разделяете свои SQL-инструкции на XML-файлы. Это очень чисто и интуитивно понятно, если вы знакомы с SQL.

Ответ №3:

Использовать файл конфигурации / ресурсов и читать из него строку запроса? Хэш-таблица также была бы другим вариантом.

Ответ №4:

Вы можете попробовать поместить свои запросы в отдельные файлы как есть, а затем поместить имена файлов в любой конфигурационный файл.

Ответ №5:

  • Используйте http://www.mybatis.org для экстернализации запросов в XML-файлы
  • Убедитесь, что классы, которые обращаются к базе данных, выполняют только это, а не другую логику