Sto cercando di trovare un modo semplice per gestire stored procedure/SQL restituendo più set di risultati. Sto usando il metodo SimpleJdbcOperations#queryForList()
tuttavia questo restituirà solo il primo set di risultati come List<Map<String, Object>>
. Devo essere in grado di ottenere più set di risultati, idealmente come Collection
di List<Map<String, Object>>
o qualcosa del genere. Il programma che sto scrivendo è un componente middleware, quindi non so quale sarà l'SQL o la forma del set di risultati.JdbcTemplate set di risultati multipli
Penso di dover utilizzare la classe JdbcOperations
che mi consente di accedere a più metodi, tra cui execute(CallableStatementCreator csc, CallableStatementCallback<T> action)
ma ora sono bloccato.
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;
}
};
io non sono davvero sicuro di come utilizzare il metodo, però, o che cosa fare con il ResultSet
per ottenere i miei generici List<Map<String, Object>>
s.
A [ 'ResultSet'] (http://docs.oracle.com/javase/7/docs/api/java /sql/ResultSet.html) contiene le righe come le avreste trovate dopo aver eseguito SQL direttamente su un database, non restituirà mai un 'Elenco
Dovrei essere in grado di iterare il 'ResultSet' usando' hasNext() 'e' getObject() '? –
Si usa un ciclo 'while' con' next() 'e si ottengono campi di riga diversi con i vari getter. –