如何在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中存储存储过程返回的多个输出列
如何使用 JdbcTemplate 在 Spring 中简洁地调用 PL/SQL 过程并返回其输出变量?