2012-03-28 6 views
0

Ich portiere ein Projekt von C# + SQL Server zu Java + MySQL. Ich habe ibatis 3 im Java + MySQL-Projekt verwendet.Unterstützt mybatis gespeicherte Prozeduren, die mehr als 1 Ergebnismenge zurückgeben?

In den alten Projekten wurden viele gespeicherte Prozeduren verwendet, die mehr als 1 Ergebnismenge zurückgaben.

Ich habe versucht, eine Lösung mit Ibatis zu finden, und diese MyBatis multiple resultsets finden.

Es scheint, James Woods hat es mit kommagetrennten resultMap Liste machen.

habe ich versucht, seine Methode und rufen Sie die Methode in Java wie:

1: Object [] findCashItems(); 2: Liste [] findCashItems();

Beide jedoch fehlgeschlagen.

Ich frage mich nur, ob das ibatis 3 wirklich gespeicherte Prozeduren unterstützt, die mehr als 1 Ergebnismenge zurückgeben?

Wenn ja, wie könnten wir die Methode in Java nennen?

Vielen Dank.

+0

Ich weiß nicht, dieses Tool, das Sie verwenden, aber aus einer SQL-Perspektive, würde ich vorschlagen, dass Sie die Ergebnisse, die von der gespeicherten-Proc in eine temporäre Tabelle zurückgegeben werden und die Rückgabe * von Temp-Tabelle zurückgeben. Dadurch erhalten Sie alles, was Sie brauchen, ohne sich Gedanken über die Fähigkeiten Ihres Werkzeugs machen zu müssen. – slashmais

+0

danke slashmais für deine Antwort. In dem alten Projekt, das jetzt portiert, können die Speicherprozeduren jedoch mehrere Ergebnismengen zurückgeben, die jeweils unterschiedliche Spalten haben. Es ist also schwierig, sie in eine temporäre Tabelle zu packen. –

Antwort

0

Zuletzt habe ich überprüft, Sie benötigen einen Rückgabetyp wie List oder List<List<?>>.

Verwandte Themen