0

我在 oracle 中有这个功能:

CREATE or replace FUNCTION rmc_getPublicaciones (yearr IN number)

RETURN publicacionisi%ROWTYPE    
IS
publtotal publicacionisi%ROWTYPE;
BEGIN
   SELECT * into publtotal
   FROM publicacionisi p where p.py = yearr;
   RETURN publtotal;
END;

我想从 mybatis 调用它并将结果放入结果图中

<select id="getAllPublicaciones"  parameterType="int" statementType="CALLABLE" resultMap="resMapPublicacionIsi" useCache="false">
         select desa.rmc_getPublicaciones(#{py}) from dual
</select>

我应该怎么做才能完成这项工作?我可以做同样的事情, select * from publicacionisi p where p.py={#py}但我想看看在数据库中的函数中执行此操作是否存在一些差异。

4

1 回答 1

1

对我来说,旧的 iBatis 调用函数的方式仍然有效,尽管 XML 标记发生了一些变化:

地图(在这种情况下可能应该交换parameterType,但我没有测试):

<parameterMap id="getAllPublicacionesParams" type="map">
    <parameter property="property_name" jdbcType="NUMERIC" javaType="int" mode="IN"/>
</parameterMap>

称呼:

<select id="getAllPublicaciones" parameterMap="getAllPublicacionesParams" statementType="CALLABLE">
    { ? = call desa.rmc_getPublicaciones(?) }
</select>
于 2013-10-30T13:31:26.323 回答