如何在Spring中调用存储过程来读取返回值和输出参数?

Posted

技术标签:

【中文标题】如何在Spring中调用存储过程来读取返回值和输出参数?【英文标题】:How to call stored procedure to read return value and out parameter both in Spring? 【发布时间】:2009-12-16 02:28:29 【问题描述】:

我有一个存储过程,它返回一个整数以及一个 VARCHAR 类型的输出参数。

我正在使用 Spring 2.5.6,无法找到同时读取返回值和 Out 参数的方法。

SimpleJdbcCall.executeFunction(..) 有读取存储过程返回值的功能,但没有 Out 参数功能。

SimpleJdbcCall.execute(..) 可以读出参数。

在 Spring 中还有其他方法可以执行上述操作。

我是否遗漏了 Spring 中可以同时读取两者的内容,或者存储过程错误,因为它应该只使用 Out Param 或 Return Value 而不能同时使用两者?

【问题讨论】:

通常的做法是同时使用输出参数和 sp 的返回值,尤其是在返回值表示错误条件时。 这正是 SP 所做的,错误条件作为返回值返回,但数据作为 Out 参数返回。 【参考方案1】:

如果您使用的是Spring 2.5X,我相信SimpleJdbcCall#withReturnValue() 指定您希望返回值包含在返回结果中。我不确定该条目将在 Map 中键入什么内容,但我会尝试一下。

【讨论】:

以上是关于如何在Spring中调用存储过程来读取返回值和输出参数?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用sqlplus在shell中存储存储过程返回的多个输出列

从存储过程中获取返回值

C#获取存储过程返回值和输出参数值的方法

如何使用 JdbcTemplate 在 Spring 中简洁地调用 PL/SQL 过程并返回其输出变量?

C#获取存储过程的 Return返回值和Output输出参数值

如何使用 SimpleJdbcDaoSupport 在 Spring 中调用存储过程?