我们使用MyBatis进行ORM。我需要调用一个Oracle函数,它将游标作为参数。如果MyBatis可以将Java对象映射到游标,那将是理想的,但我怀疑这是否可能。任何想法如何做到这一点?请注意,我知道如何将从函数返回的游标映射到Java对象。另一种方式是问题所在。
1 回答
守着一只汪
TA贡献1872条经验 获得超4个赞
似乎唯一的解决方案是创建一个块,声明一个游标并将其手动传递给函数:
<select id="..." parameterType="..." statementType="CALLABLE">
declare
my_cursor SYS_REFCURSOR;
begin
OPEN my_cursor FOR
<foreach item="item" collection="..." separator=" union all ">
SELECT #{item.key} as key, ... FROM dual
</foreach> ;
#{result,jdbcType=CURSOR,mode=OUT,resultMap=...,javaType=java.sql.ResultSet} := our_function(my_cursor => my_cursor);
end;
</select>
添加回答
举报
0/150
提交
取消
