JdbcTemplate, вызывающий вызов хранимой процедуры - PullRequest
0 голосов
/ 15 апреля 2020

Я знаю, это легко вызывать вызов хранимой процедуры, используя JdbcTemplate, но здесь у меня другая ситуация. Я хочу вызвать функцию хранимой процедуры, которая ничего не возвращает. Я попробовал приведенный ниже код, и он отлично работает, но мы не используем RowCountCallbackHandler каким-либо образом, и это пустая трата

jdbcTemplate.query("select * from status_update(?) ",
                new Object[]{statusId},
                new int[]{Types.INTEGER}, new RowCountCallbackHandler());

То, что я ищу, выглядит примерно так, как показано ниже, который, очевидно, недоступен

jdbcTemplate.query("select * from status_update(?) ",
                new Object[]{statusId},
                new int[]{Types.INTEGER});

Я хотел бы знать, если я пропускаю какой-либо другой способ выполнить пустую хранимую процедуру, используя JdbcTemplate

1 Ответ

1 голос
/ 16 апреля 2020

Вы можете использовать SimpleJdbcCall класс. Это перегружает execute() методы, из которых можно удовлетворить ваши потребности.

SimpleJdbcCall spCall = new SimpleJdbcCall(yourJdbcTemplate);
spCall.withProcedureName(SP_NAME);
spcall.execute(inParamsAsMap);

Это выполнит выполнение. Если у вашего SP есть выходные параметры, вы можете сделать следующее:

Map<String, Object> output = spCall.execute(inParamsAsMap);

Do c ссылка

...