我有一个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/

10-10 23:12