我有一个Microsoft和Sybase存储过程,它们将结果返回为“ return @value”。我需要通过SimpleJdbcCall从Java读取值。
可能吗?
最佳答案
使用SqlOutPutParameters :)
这是一个例子:
SimpleJdbcCall countryProcedure = new SimpleJdbcCall(dataSource)
.withoutProcedureColumnMetaDataAccess()
.withProcedureName(procedureName)
.declareParameters(new SqlOutParameter("RETURNCODE", Types.INTEGER))
.declareParameters(new SqlOutParameter("RETURNMSG", Types.VARCHAR));
Map result = countryProcedure.execute();
System.out.println("RETURNCODE: " + result.get("RETURNCODE"));
System.out.println("RETURNMSG: " + result.get("RETURNMSG"));
编辑:
我看了看,有一种更简单的方法。在SimpleJdbcCall上使用WithReturnValue(),返回值将存储在return Map中“ return”键下。
关于java - SimpleJdbcCall:获取Microsoft/Sybase存储过程调用的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4499771/