# Spaltennamen von MySQL Datenbank nach Java auslesen



## balko (18. Apr 2008)

Hallo zusammen, 

hat jemand ein Codebeispiel, wie ich man aus einer MySQL Datenbank die Namen aller Tabellen und Spalten nach Java auslesen kann. 

Ich habe eine Verbindung zur Datenbank (Session)  und würde gerne von da aus Informationen , insbesondere die Tabellen und Spaltennamen auslesen.

MfG
Ein Balko


----------



## ARadauer (18. Apr 2008)

ich hab jetzt hier keine code beispiele, aber die informationen die du suchst nennt man metadaten, danach kannst du suchen...

zb http://www.galileocomputing.de/open...22_012.htm#mjecc60dc83c042fdd750c7ca7c8569a6d


----------



## Niki (18. Apr 2008)

Schau dir diese Methoden an:

)]DatabaseMetaData#getTables
DatabaseMetaData#getColumns

//EDIT: verdammt der escaped die Klammern in der URL nicht bei einem Array, der erste Link sollte auch gleich zur Methode getTables springen


----------



## balko (18. Apr 2008)

ARadauer hat gesagt.:
			
		

> ich hab jetzt hier keine code beispiele, aber die informationen die du suchst nennt man metadaten, danach kannst du suchen...
> 
> zb http://www.galileocomputing.de/open...22_012.htm#mjecc60dc83c042fdd750c7ca7c8569a6d




Danke für die Antwort. In diesem Beispiel funktioniert das ja aber nur wenn man "hard-gecoded" einen SQl String formuliert. Weißt du ob es auch mit HQL geht?

Beziehungsweise wie bekommt man aus einer HQL-Abfrage ein Resultset?

MfG
Ein Balko


----------



## ARadauer (18. Apr 2008)

HQL? also mittels hibernate metadaten übe db erfahren, oder wie? keine ahnung


----------



## balko (18. Apr 2008)

ARadauer hat gesagt.:
			
		

> HQL? also mittels hibernate metadaten übe db erfahren, oder wie?



genau


----------



## maki (18. Apr 2008)

Wozu denn?

Mit einem ORM solltest du diese Details nicht wissen müssen.


----------



## balko (18. Apr 2008)

maki hat gesagt.:
			
		

> Wozu denn?
> 
> Mit einem ORM solltest du diese Details nicht wissen müssen.



...um beispielsweise einem User zu zeigen, welche Spalten es in einer Datenbanktabelle gibt...


----------



## maki (18. Apr 2008)

Datenbanktabellen, Spalten, Schlüssel, Fremdschlüssel, etc. pp. ist alles unwichtig mit ORM und wird wegabstrahiert.

Wenn du das brauchst, ist Hibernate oder jedes andere ORM Framework der komplett falsche Ansatz...

ORM sorgt dafür, dass die ganzen DB Geschichten Wegabstrahiert werden und es nur noch um Objekte geht.

Hast sozusagen zuviel Abstraktion wenn du konkrete Dinge zeigen willst.

Da hilft ime nur reines JDBC, alles zu Fuss.


----------



## balko (18. Apr 2008)

maki hat gesagt.:
			
		

> Da hilft ime nur reines JDBC, alles zu Fuss.



Okay! Wie kann ich denn mit JDBC die Spaltennamen erfahren?


----------



## maki (18. Apr 2008)

Die Frage gab es heute schon mal, sieh dir mal die Interfaces DatabaseMetaData und ResultsetMetadata an.


----------

