Java 将多个表返回到spring jdbc模板的存储过程

Java 将多个表返回到spring jdbc模板的存储过程,java,stored-procedures,spring-mvc,spring-jdbc,Java,Stored Procedures,Spring Mvc,Spring Jdbc,我正在使用JdbcTemplate从Spring DAO类调用存储过程。我的问题是,存储过程返回多个表。是否有一种使用SpringJDBCTemplate访问多个表的方法 如果我使用 jdbcTemplate.queryForList(myStoredProc,新对象[]{parameters} 我从结果中只得到第一张表 我的数据库是SQLServer2005 除了jdbcTemplate,还有其他方法可以满足我的需求吗?如果有,请告诉我 提前感谢….请参阅 本节中给出的示例正是针对存储过程返回

我正在使用JdbcTemplate从Spring DAO类调用存储过程。我的问题是,存储过程返回多个表。是否有一种使用SpringJDBCTemplate访问多个表的方法

如果我使用
jdbcTemplate.queryForList(myStoredProc,新对象[]{parameters}
我从结果中只得到第一张表

我的数据库是SQLServer2005

除了jdbcTemplate,还有其他方法可以满足我的需求吗?如果有,请告诉我

提前感谢….

请参阅


本节中给出的示例正是针对存储过程返回多个结果集的情况。虽然这里给出的示例适用于Oracle,但它也适用于MS SQL Server。

sinha引用的解决方案不适用于我。我可以使用
JdbcTemplate\35;调用解决此问题(CallableStatementCreator,List)
。例如:

private static final String sql=“{call schema_name.the_storage_procedure(?,?)}”;
//存储过程的输入参数
私有静态最终列表declaredParams=Arrays.asList(
新的SqlParameter(“nameOfFirstInputParam”,Types.VARCHAR),
新的SqlParameter(“nameOfSecondInputParam”,Types.VARCHAR),
新的SqlParameter(“nameOfThirdInputParam”,Types.VARCHAR));
私有静态最终CallableStatementCreatorFactory cscFactory
=新的CallableStatementCreatorFactory(sql,declaredParams);
//存储过程的结果集
私有静态最终列表returnedParams=Arrays.asList(
新的SqlReturnResultSet(“nameOfFirstResultSet”,SomeRowMapper.INSTANCE),
新的SqlReturnResultSet(“nameOfSecondResultSet”,SomeOtherRowMapper.INSTANCE));
公共静态映射调用(JdbcTemplate JdbcTemplate,
字符串参数0,
字符串参数1,
字符串参数(2){
最终映射actualParams=新HashMap();
actualParams.put(“nameOfFirstInputParam”,param0);
actualParams.put(“secondInputParam的名称”,param1);
actualParams.put(“第三个输入参数的名称”,参数2);
CallableStatementCreator csc=cscFactory.newCallableStatementCreator(actualParams);
Map results=jdbcTemplate.call(csc,returnedParams);
//返回的映射将包括每个结果集的映射。
//
// {
//“nameOfFirstResultSet”->列表
//“nameOfSecondResultSet”->列表
// }
//
//对于这个例子,我们只返回异构映射。实际上,
//最好返回包含更多类型信息的对象
//换句话说,不要让客户端代码强制转换结果集列表。封装
//在这种方法下的铸造。
返回结果;
}

我正在使用spring StoredProc和返回标量或仅一行结果的proc,但我很好奇如何处理这种情况。你知道如果一个proc返回多行,返回的映射的内容会是什么吗?它是一个映射的映射,其中包含的映射键是行索引吗?谢谢!
SqlReturnResultSet
是什么我正在寻找::)在单个查询中使用多个选择。这是我需要的查询。谢谢