Frage

Ich brauche die Liste der Spalten in einer Tabelle erhalten Mybatis mit / iBatis in Java 1.5.

War es hilfreich?

Lösung

Das ist nicht eine typische Anforderung (99,99% der Anwendungen mit iBatis oder was auch immer ORM kennt das DB-Schema). iBatis ist ein SQL-Mapper, müssen Sie die SQL-Abfrage selbst schreiben. Und es gibt keine Standard-SQL-Abfrage (AFAIK), das die Anzahl der Spalten in einer Tabelle gibt.

Ich kann nur zwei Ansätze vorschlagen:

  1. Erstellen Sie eine SQL-Abfrage Auswahl aus den Katalogtabellen. Das ist der normale Weg über Ihre DB-Metadaten zu wissen. Aber das hängt von Ihrem bestimmten Datenbank-Engine. Und es ist nicht im Zusammenhang mit iBatis.

  2. quick and dirty: eine Ad-hoc machen Abfrage SELECT * FROM MYTABLE LIMIT 1 (ersetzen LIMIT für Ihre DB analog), Karte, dass in iBatis durch eine HashMap, und in Ihrer DAO zählen nur die Anzahl der Tasten

    <. / li>

Andere Tipps

Für Mybatis: Sie müssen statt resultmap result verwenden. result muss Sammlung Datentyp zurückzugeben, indem die Größe der Sammlung wissen Sie nicht bekommen kann. über die Spalt und mehr, wenn Sie mit HashMap werden Sie können Spaltennamen auch in Schlüssel erhalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top