Вызов stored procedure через jdbc template

Мы вызываем stored procedure через jdbc template из приложения jmix. Как нам связать jdbc template с additional data store? (autowired jdbc template по умолчанию работает с primary data store)

Здравствуйте!

Чтобы получить JdbcTemplate для работы с дополнительным DataStore, можно использовать специальный бин StoreAwareLocator:

@Autowired
private StoreAwareLocator storeAwareLocator;

public void executeSmth() {
    JdbcTemplate jdbcTemplate = storeAwareLocator.getJdbcTemplate("datastore_name");
}

Спасибо! Проверили, работает, но есть еще вопрос.

Нам jdbcTemplate требуется для вызова хранимой процедуры с передачей параметров. Для этого мы использовали NamedParameterJdbcTemplate. Как нам получить его из storeAwareLocator?

1 симпатия

Его можно получить следующим образом:

@Autowired
private StoreAwareLocator storeAwareLocator;

public void executeSmth() {
    NamedParameterJdbcTemplate template =
                new NamedParameterJdbcTemplate(storeAwareLocator.getDataSource("datastore_name"));
}