2016-12-15 4 views
0

Ich verwende spring-boot-mybatis-starter. In diesem Moment bin ich ziemlich vertraut mit mybatis, aber ich suche nach Möglichkeiten, um Informationen über Arten von Spalten zurückgegebene Ergebnisse zu erhalten. Ist es möglich ?Mybatis - Ergebnisse mit Typ Info erhalten

Zum Beispiel bekomme ich Hashmap<String, Object> results - ich würde gerne wissen, was Object nicht verwendet instance of.

Irgendwelche Ideen?

Antwort

0

Wenn Sie die aktuellen Java-Typen in den Ergebnissen wissen wollen: Class c = null == results.get("columnName") ? null : results.get("columnName").getClass();

Wenn Sie über SQL-Typen wissen wollen, ich fürchte, Sie können es nicht. Dies erfordert den Zugriff auf Resultset-Metadaten und das, was Mybatis tut, weil dies seine Aufgabe ist. Das einzige Steuerelement, das Sie in der Mapping-Verarbeitung haben könnten, ist die Verwendung benutzerdefinierter Typ-Handler, die jedoch für sehr spezielle Fälle verwendet werden. Für mindestens 95% Anwendungsfälle bildet Mybatis den Standard-SQL-Typ auf einfache Java-Typen ab, damit er seine Aufgabe besser erfüllen kann. Auch wenn, soweit ich weiß, es keine Protokolle in Mapping-Klassen gibt. (Mybatis fehlen meiner Meinung nach wenige Protokolle).

Und es könnte hilfreich sein, wenn Sie den Zweck hinter dieser Frage erklären.

0

Sie können den Tabellenspaltentyp aus dem Informationsschema wie folgt abrufen.

SELECT column_name, column_type 
FROM INFORMATION_SCHEMA.columns 
where table_schema='[Table_schema]' and table_name='[Table_Name]'. 

Ich hoffe, es hilft.

Verwandte Themen