2

我有一个 Microsoft 和 Sybase 存储过程,它们将结果返回为“return @value”。我需要通过 SimpleJdbcCall 从 Java 中读取值。

是否可以?

4

2 回答 2

5

使用 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”键下的返回映射中。

于 2010-12-21T13:40:50.323 回答
0

Spring 从 2.x 开始就很好地支持存储过程:

http://static.springsource.org/spring/docs/2.0.x/reference/jdbc.html

这些应该可以帮你解决。

于 2010-12-21T13:37:18.760 回答