複数の結果セットを返すストアドプロシージャ/ SQLを扱う簡単な方法を見つけることを試みています。私はSimpleJdbcOperations#queryForList()
メソッドを使用していますが、これは最初の結果セットをList<Map<String, Object>>
として返します。私はList<Map<String, Object>>
または何かのCollection
として理想的には、複数の結果セットを得ることができる必要があります。私が書いているプログラムはミドルウェアのコンポーネントなので、SQLの内容や結果セットの形式がわかりません。JdbcTemplate複数の結果セット
私はexecute(CallableStatementCreator csc, CallableStatementCallback<T> action)
を含むより多くのメソッドにアクセスできるように、JdbcOperations
クラスを使用する必要があると思うが、今は詰まっている。
CallableStatementCallback<T> callback = new CallableStatementCallback<T>() {
@Override
public T doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException
{
boolean results = cs.execute(request);
while(results)
{
ResultSet result = cs.getResultSet();
results = cs.getMoreResults();
}
return null;
}
};
でも、私はこの方法を使用するか、どのような私のジェネリックList<Map<String, Object>>
Sを取得するためにResultSet
をどうするか、本当にわかりません。
A [ 'ResultSet']の形(http://docs.oracle.com/javase/7/docs/api/javaでのResultSetのリストを取得する方法の下に使用しています/sql/ResultSet.html)には、データベース上でSQLを直接実行した後に見つかるような行が含まれていますが、 'List
'hasNext()'と 'getObject()'を使って 'ResultSet'を繰り返し処理できるはずですか? –
'next()'で 'while'ループを使い、さまざまなgetterで異なる行フィールドを取得します。 –