Используйте два источника данных с шаблоном jdbc - PullRequest
0 голосов
/ 04 июля 2018

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

тот, который имеет доступ к пользовательской таблице для обновления login/register/information, а другой - для доступа к другим таблицам.

Моя идея состояла в том, чтобы создать два отдельных bean-компонента для двух источников данных, каждый с отдельным пользователем, и когда пользователь хочет войти в систему, контроллер соответствующим образом изменит JSBCtemplate DataSource.

Но я не уверен, сработает ли это, поскольку JDBCtemplate уже определен как проект с загрузочной пружиной, и я не знаю его масштаб (я предполагаю, что если это не сессионный компонент, изменение источника данных будет для всех пользователей). не только для одного пользователя)

У кого-нибудь есть идеи о том, как мне решить эту проблему? Пожалуйста, дайте мне знать!

Ответы [ 2 ]

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

Вы можете создать 2 бина JdbcTemplate:

// declare
@Bean("jdbc1")
public JdbcTemplate createJdbcTemplate1(@Autowired @Qualifier("datasource1") DataSource dataSource1){
    return new JdbcTemplate(dataSource1);
}

@Bean("jdbc2")
public JdbcTemplate createJdbcTemplate2(@Autowired @Qualifier("datasource2") DataSource dataSource2){
    return new JdbcTemplate(dataSource2);
}

и укажите имя bean-компонента при автопроводке:

// use jdbcTemplate1 for login/register/information
@Autowired
@Qualifier("jdbc1")
protected JdbcTemplate jdbcTemplate1;

// use jdbcTemplate2 for other
@Autowired
@Qualifier("jdbc2")
protected JdbcTemplate jdbcTemplate2;
0 голосов
/ 04 июля 2018

Сначала вы должны настроить два источника данных. Подключите разные источники данных в соответствии с различными операциями.

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