Wie bekommt man mehrere Resultsets aus einer einzelnen CallableStatement?

Wenn ich rufen Sie die gespeicherte Prozedur von der Kommandozeile aus, bekomme ich die folgende.

CALL `events`.`get_event_by_id`(10)

+---------+----------+-------------+---------------------+---------------------+---------------------+--------+----------+
| evet_id | name     | description | starttime           | endtime             | last_modified       | active | addre_id |
+---------+----------+-------------+---------------------+---------------------+---------------------+--------+----------+
|      10 | samole 3 | sanely      | 2013-11-27 17:37:00 | 2013-11-27 18:09:00 | 2013-11-27 09:37:42 |      1 |       20 |
+---------+----------+-------------+---------------------+---------------------+---------------------+--------+----------+
1 row in set (0.00 sec)

+---------+------------+---------+
| user_id | username   | picture |
+---------+------------+---------+
|       1 | jamess2000 | NULL    |
|       2 | yferna2012 | NULL    |
+---------+------------+---------+
2 rows in set (0.00 sec)

+----------+------------------------------+---------------------+-------------+--------+
| addre_id | street                       | name                | description | active |
+----------+------------------------------+---------------------+-------------+--------+
|       20 | Schieffelin                  | Manhattan Ville Loc | NULL        |      1 |
+----------+------------------------------+---------------------+-------------+--------+

Hier ist ein Ausschnitt von meinem Java-Code

String SP_GET_EVENT_BY_ID = "CALL `events`.`get_event_by_id`(?)";
String PROC_PARAM_EVENT_ID = "evet_id";
mCallableStatement = mConnection.prepareCall(SP_GET_EVENT_BY_ID);
mCallableStatement.setInt(10, PROC_PARAM_EVENT_ID);

Wenn ich die Anweisung ausführen, nur die event_table Ergebnisse zurückgegeben werden.
Ich lese die Abfrage mit den folgenden:

ResultSet reader = mCallableStatement.executeQuery();

while(reader.next())
{
   //etc..... here i assign db values to properties. 
}

Ich versuche zu vermeiden, dass mehrere Anfrage an die Datenbank, da es extrem langsam (300 ms je nachdem, wie viele Ergebnisse)

Ist es überhaupt möglich?

InformationsquelleAutor James | 2013-11-27

Schreibe einen Kommentar