Ibatis、oracle 以及如何映射返回“列”的旧过程

发布于 2024-10-09 00:28:21 字数 615 浏览 3 评论 0原文

我有下一个过程

CREATE OR REPLACE Package PC.PCS_Material_Pkg 
As
TYPE Code_material_of_arr IS TABLE OF Number(30) INDEX BY BINARY_INTEGER;
TYPE Desc_Material_Of_arr IS TABLE OF Varchar2(240) INDEX BY BINARY_INTEGER;
Procedure PCS_Material
   ( SRV_Message                    In Out     Varchar2
    , In_xDesc_Material              In         Varchar2
    , Col_Codi_material_of           Out        Code_material_of_arr
    , Col_Desc_Material_Of           Out        Desc_Material_Of_arr
    );
End PCS_Material_Pkg;
/

,我希望知道如何映射它(xml),至少有一些如何继续的线索。可悲的是,我无法更改过程并返回光标。

谢谢。

I have the next procedure

CREATE OR REPLACE Package PC.PCS_Material_Pkg 
As
TYPE Code_material_of_arr IS TABLE OF Number(30) INDEX BY BINARY_INTEGER;
TYPE Desc_Material_Of_arr IS TABLE OF Varchar2(240) INDEX BY BINARY_INTEGER;
Procedure PCS_Material
   ( SRV_Message                    In Out     Varchar2
    , In_xDesc_Material              In         Varchar2
    , Col_Codi_material_of           Out        Code_material_of_arr
    , Col_Desc_Material_Of           Out        Desc_Material_Of_arr
    );
End PCS_Material_Pkg;
/

And i wish to know how to map it (xml) at least some clue of how to proceed. Sadly, i can't change the procedure and return a cursor.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一身骄傲 2024-10-16 00:28:21

Ibatis通常有一个sqlMap.xml文件,您可以在其中编写所有

查询,并获得一个resultObject作为返回。

您真正需要做的就是在 xml 文件中向 Ibatis 提供 Oracle DB 驱动程序以及要运行的查询。

Could you please elaborate on the question..

Ibatis, usually has a sqlMap.xml file, in which you can write all the queries, and get a resultObject in return.

All you would really need to do is, provide Oracle DB drivers to Ibatis, and a query you want to run , in an xml file.

┈┾☆殇 2024-10-16 00:28:21

这是一个例子(取自另一个问题)。注意参数的模式。您将需要使用 Oracle jdbcTypes,但这应该会引导您走向正确的方向。

<parameterMap id="mapping-description-modifiable" class="java.util.Map">           
    <parameter property="id" javaType="java.lang.Long" jdbcType="NUMERIC" mode="INOUT"/>         
    <parameter property="lang" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>         
    <parameter property="shortDesc" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>         
    <parameter property="fullDesc" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>         
    <parameter property="modify" javaType="boolean" jdbcType="NUMBER" mode="IN"/>     
</parameterMap> 
<procedure id="add-description" arameterMap="mapping-description-modifiable">         
     {call COM_DESCRIPTION_PKG.add_desc(?,?,?,?,?)} 
</procedure> 

Here's an example (taken from another question). Note the mode of the params. You'll want to use Oracle jdbcTypes, but this should send you in the right direction.

<parameterMap id="mapping-description-modifiable" class="java.util.Map">           
    <parameter property="id" javaType="java.lang.Long" jdbcType="NUMERIC" mode="INOUT"/>         
    <parameter property="lang" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>         
    <parameter property="shortDesc" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>         
    <parameter property="fullDesc" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>         
    <parameter property="modify" javaType="boolean" jdbcType="NUMBER" mode="IN"/>     
</parameterMap> 
<procedure id="add-description" arameterMap="mapping-description-modifiable">         
     {call COM_DESCRIPTION_PKG.add_desc(?,?,?,?,?)} 
</procedure> 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文