我有一个存储过程,它有三个用户定义类型的参数。
我使用ibatis作为来自java代码的ORM来调用存储过程。
如何在ibatis xml中配置此存储过程调用
以及如何在我的java代码中获得结果。
程序测试(
p_a in int default 0,
p_b的数字默认为0,
p_criteria out TBL_A,
p_baseline输出TBL_B,
p_results out TBL_C);
任何帮助都将受到高度赞赏。 谢谢, gagan suri
答案 0 :(得分:0)
在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>
在您的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")