Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Ibatis从Oracle 11g中的存储过程中输出参数_Java_Oracle_Ibatis - Fatal编程技术网

Java Ibatis从Oracle 11g中的存储过程中输出参数

Java Ibatis从Oracle 11g中的存储过程中输出参数,java,oracle,ibatis,Java,Oracle,Ibatis,我有一个存储过程,在所有用户定义的类型中有三个out参数。 我使用ibatis作为java代码中的ORM来调用存储过程。 如何在iBATISXML中配置此存储过程调用 以及如何在java代码中返回结果。 程序测试( p_a in int默认值为0, p_b在数字中默认为0, p_标准输出TBL_A, p_基线输出待定, p_结果(待定) 任何帮助都将不胜感激。 谢谢 在xml配置中,gagan suri提供具有输入/输出模式的参数(jdbcType是可选的): { 调用过程1( #值1,jdb

我有一个存储过程,在所有用户定义的类型中有三个out参数。 我使用ibatis作为java代码中的ORM来调用存储过程。 如何在iBATISXML中配置此存储过程调用 以及如何在java代码中返回结果。 程序测试( p_a in int默认值为0, p_b在数字中默认为0,
p_标准输出TBL_A, p_基线输出待定, p_结果(待定)

任何帮助都将不胜感激。 谢谢
在xml配置中,gagan suri提供具有输入/输出模式的参数(jdbcType是可选的):


{
调用过程1(
#值1,jdbcType=DECIMAL,mode=INOUT#,
#值2,jdbcType=DECIMAL,mode=INOUT#,
#值3,jdbcType=DECIMAL,mode=INOUT#,
)
}
在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")
final Map params=new HashMap();
//在此处提供输入参数
参数put(“值1”,1);
AbstractSQLMapDao.queryForObject(“namespace.callProcedure1”,参数);
//检索您的输出
Double value1=参数get(“value1”)

感谢您的及时回复。问题在于out参数是用户定义的oracle类型。他们的jdbctype应该是什么。感谢您的及时回复。问题在于out参数是用户定义的oracle类型。他们的jdbctype应该是什么。我尝试使用实际的oracle类型,如jdbcType=“TBL\u OPTIMSEEDS”typeName=“TBL\u OPTIMSEEDS”mode=“INOUT”。但我仍然得到错误---检查输出参数(寄存器输出参数失败)。--原因:java.sql.SQLException:列类型无效
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")