Подключение к нескольким базам данных "Dynami c" вместе с локальной базой данных "Stati c" в Spring Boot - PullRequest
0 голосов
/ 20 февраля 2020

Я создаю приложение, используя Java и Spring Boot, где я хочу каждый раз выполнять запросы к двум сторонним базам данных (они могут иметь разные схемы и данные). Поэтому я бы хотел каждый раз запрашивать две разные базы данных. Получив доступ к этим базам данных, я бы хотел сохранить результат (мой бизнес логи c) в локальной базе данных stati c.

Изначально я хотел сохранить все данные базы данных (user, pass, url) в application.properties, но потом понял, что это может быть не лучшим решением, так как детали для двух БД, которые я запрашиваю, будут получить в качестве ввода от пользователя. Поэтому я не уверен, лучше ли обновлять и перезаписывать application.properties каждый раз, когда я получаю новый запрос (пожалуйста, дайте мне знать, если есть лучший способ сделать это.

Если у меня есть Информация о БД в application.properties, я следовал нескольким учебникам для нескольких подключений к БД в Spring, и все они следовали чему-то вроде создания файлов конфигурации для каждой БД, вызывая файл репозитория / DAO для каждой БД, который ссылается на модель из упомянутой базы данных. Это кажется мне проблематичным c, так как я не знаю схемы баз данных заранее, поэтому я не могу определить класс модели. И даже если бы я это сделал, это, вероятно, изменится в разных базах данных , поэтому я действительно не уверен, что делать. Есть ли более гибкий / универсальный способ запрашивать «чужие» базы данных с помощью Spring или old school Java, учитывая, что я не знаю, как могут выглядеть их схемы?

Любая помощь очень ценится!

1 Ответ

0 голосов
/ 20 февраля 2020

Конфигурация нескольких баз данных должна поддерживаться в application.properties или классе конфигурации в качестве лучшей практики. См. Здесь - https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto -два источника данных

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

Не зная схемы, это не проблема, поскольку вы можете обрабатывать данные с java коллекциями.

...