我是最無知的,它實際上是工作!您可以指定兩個結果集,每個都有自己的映射器。 在代碼中,它看起來是這樣的:
SimpleJdbcCall call = new SimpleJdbcCall(this.jdbc)
.withProcedureName("get_users3")
.returningResultSet("rs1", new ParameterizedRowMapper<Object[]>()
{
@Override
public Object[] mapRow(ResultSet rs, int rowNum) throws SQLException
{
return new Object[] { rowNum, rs.getInt(1), rs.getString(2) };
}
})
.returningResultSet("rs2", new ParameterizedRowMapper<Object[]>()
{
@Override
public Object[] mapRow(ResultSet rs, int rowNum) throws SQLException
{
return new Object[] { rowNum, rs.getInt(1), rs.getString(2) };
}
});
Map<String, Object> res = call.execute();
assertNotNull(res.get("rs1"));
assertNotNull(res.get("rs2"));
List<Object[]> l1 = (List<Object[]>)res.get("rs1");
List<Object[]> l2 = (List<Object[]>)res.get("rs2");
我有困難的情況下在這裏,我不能改變的方式數據庫的工作 我的意思是,我不能改變存儲程序spilit選擇或使用SimpleJdbcCall時怎麼一回事,因爲我從存儲過程得到結果 – user1980260 2013-03-14 09:38:07
我錯了,它實際上可以做到! – flup 2013-03-14 19:28:59