gpt4 book ai didi

java - 如何从 MyBatis 传递 CURSOR 作为 Oracle 函数参数

转载 作者:太空宇宙 更新时间:2023-11-04 09:46:11 24 4
gpt4 key购买 nike

我们使用 MyBatis 进行 ORM。我需要调用一个以游标作为参数的 Oracle 函数。如果 MyBatis 能够将 Java 对象映射到光标,那就太理想了,但我怀疑这是否可能。

有什么想法可以做到这一点吗?

请注意,我知道如何将从函数返回的游标映射到 Java 对象。反过来就是问题所在。

最佳答案

似乎唯一的解决方案是创建一个 block ,声明一个游标并将其手动传递给函数:

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

关于java - 如何从 MyBatis 传递 CURSOR 作为 Oracle 函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55393759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com