wie man Spalten-Metadaten in Mybatis erhalten
Frage
Ich brauche die Liste der Spalten in einer Tabelle erhalten Mybatis mit / iBatis in Java 1.5.
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:
-
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.
-
quick and dirty: eine Ad-hoc machen Abfrage
<. / li>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
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.