简体   繁体   English

Ibatis从Oracle 11g中的存储过程中获取参数

[英]Ibatis out params from stored procedure in Oracle 11g

I have a stored procedure which has three out params all user defined types. 我有一个存储过程,其中包含所有用户定义类型的三个参数。 I use ibatis as ORM from java code to call the stored procedure. 我使用ibatis作为Java代码中的ORM来调用存储过程。 How do i configure this stored procedure call in ibatis xml and how do I get the results back in my java code. 如何在ibatis xml中配置此存储过程调用,以及如何在Java代码中返回结果。 procedure test( p_a in int default 0 , p_b in number default 0, 程序测试(p_a int default 0,p_b int default 0,
p_criteria out TBL_A, p_baseline out TBL_B, p_results out TBL_C); p_criteria out TBL_A,p_baseline out TBL_B,p_results TBL_C);

Any help would be highly appreciated. 任何帮助将不胜感激。 thanks, gagan suri 谢谢,甘甘苏里

In your xml configuration provide parameters with in/out mode (jdbcType is optional): 在xml配置中,以in / out模式提供参数(jdbcType是可选的):

<procedure id="callProcedure1" parameterClass="map">
        {
            call procedure1(
                #value1,jdbcType=DECIMAL,mode=INOUT#,
                #value2,jdbcType=DECIMAL,mode=INOUT#,
                #value3,jdbcType=DECIMAL,mode=INOUT#,
                )
        }
</procedure>

And in your dao class just get your results from parameters: 在dao类中,只需从参数获取结果即可:

final Map<String, Object> params = new HashMap<String, Object>();
//provide input parameters here
params.put("value1", 1);
AbstractSQLMapDao.queryForObject("namespace.callProcedure1", params);
//retrieve you output
Double value1 = params.get("value1")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM