2

我目前正在使用

<parameterMap class="map" id="param1">
    <parameter property="result" jdbcType="BOOLEAN" javaType="boolean" mode="OUT"/>
    <parameter property="arg1" jdbcType="VARCHAR" mode="IN"/>
    <parameter property="resultCode" jdbcType="INTEGER" javaType="int" mode="OUT"/>
</parameterMap>

<procedure id="contAvail" parameterMap="param1">
    <![CDATA[
        { ? = call pkg.func(?,?)}
    ]]>
</procedure> 

缺什么 ?

4

3 回答 3

0

您的 CALL 中有两个参数,但是一个具有三个参数的 parameterMap。您有一个结果,但没有 resultMap。

不确定 CDATA 是否会伤害任何东西,但它不应该是必需的。

有关详细信息,请参阅联机帮助。也看看这个这个

于 2009-11-27T18:56:15.540 回答
0

事实证明,上面的代码没有任何问题。如果我们将返回数据类型从布尔值更改为其他任何值,它就会起作用。似乎没有正确支持布尔值。

同样正如 Jim 正确地建议的那样,CDATA 不是小鬼。无论有没有它,它都可以工作。

于 2009-11-30T14:59:22.097 回答
0

需要注意的重要一点是,即使对于函数调用,ibatis 也会在输入参数映射本身中返回结果。在这种情况下,param1 将保存函数调用的结果(并且在 java 方法 queryForObject() 中返回 null ..)

于 2011-10-24T15:58:14.167 回答