Как отобразить сохраненную функцию пакета в iBatis? - PullRequest
2 голосов
/ 27 ноября 2009

Я сейчас использую

<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> 

Чего не хватает?

Ответы [ 3 ]

0 голосов
/ 30 ноября 2009

Оказывается, нет ничего плохого в коде выше. Это работает, если мы изменим тип возвращаемых данных с булевского на любой другой. Кажется, логическое значение не поддерживается должным образом.

Также, как справедливо предположил Джим, CDATA не является импом. Работает с этим или без него.

0 голосов
/ 24 октября 2011

Важно отметить, что ibatis возвращает результат в самой карте входных параметров даже для вызова функции. В этом случае param1 будет содержать результат вызова функции (и нуль возвращается в методе java queryForObject () ..)

0 голосов
/ 27 ноября 2009

У вас есть два параметра в вашем CALL, но есть таблица параметров с тремя параметрами. У вас есть один результат, но нет результатаMap.

Не уверен, что CDATA повредит чему-либо, но это не нужно.

Подробнее см. В онлайн-справке . Также проверьте это и это .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...