Spring boot, динамическое соединение с источником данных JPA - PullRequest
0 голосов
/ 02 июля 2018

Я новичок в spring, hibernate и JPA.

Я создал проект с SpringBoot и JPA. У меня есть база данных, которая содержит разные имена баз данных клиентов в зависимости от идентификатора клиента. Следовательно, при запуске приложения spring boot я подключаюсь к базовой базе данных, используя репозиторий JPA (прямо).

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

Поскольку я заранее не знаю имен баз данных клиентов, у меня возникла проблема с этим. Все базы данных MySQL.

Может кто-нибудь предложить лучший способ достичь этого?

1 Ответ

0 голосов
/ 02 июля 2018

Есть два подхода, которые вы можете попробовать.

Подход 1:

Вы можете использовать DataSourceBuilder для получения источника данных.

DataSource dataSource = DataSourceBuilder.create()  
    .driverClassName(driver-class-name)   
    .url(env.getProperty(dataSoruceUrl).build();
Connection connection = dataSource.getConnection(username, password);

Используя соединение, вы можете выполнять операторы SQL.

Подход 2:

Вы можете попробовать AbstractRoutingDatasource, предоставленный Spring. Здесь - руководство, объясняющее это.

Надеюсь, это поможет !!

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