簡體   English   中英

如何使用mybatis從過程調用中返回一個值?

[英]How to use mybatis to return a value from procedure call?

我們使用myBatis調用許多存儲過程,這些過程具有我們知道如何處理的IN / OUT參數

但我不知道如何處理過程實際返回值而不是將其聲明為OUT參數

例如,使用SQL編輯器(TOAD for SQL Server),我可以運行proc並獲取返回值,如下所示:

DECLARE @return_value int;

EXEC  @return_value = someProcedure 
    @param1 = 'abc',
    @param2 = 12345

SELECT @return_value as N'@Return Value';

GO

但是我只得到了結果集,並且不知道如何處理這種情況。 我覺得這樣的事情可能有用:

<select id="callSomeProcedure" resultType="java.lang.Integer" statementType="CALLABLE">
    { call someProcedure  (
            #{param1},
            #{param2}
    ) }
</select>

但它返回NULL

有任何想法嗎?

好的,我知道了

<select id="callSomeProcedure" statementType="CALLABLE">
    { #{returnVal} = call someProcedure  (
            #{param1},
            #{param2}
    ) }
</select>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM