# Datenbankzugriff mit Java (JDBC)



## bsytkorbi (11. Oktober 2010)

Hallo liebe Experten,

als MySQL und Java-Neuling moechte ich auf meine unter "Phpmyadmin" erstellte Datenbank mit Java zugreiffen. Im Web habe ich dafuer eine gute Gebrauchsanweisung inkl. Treiber gefunden, die ich allerdings nicht ganz nachvollziehen kann.

Bitte helft mir mit dem "Classpath". 
Konkret heisst es dazu in der Beschreibung:

"Als erstes geht es darum, den passenden Treiber zu finden. Hierbei handelt es sich um s.g. JDBC Treiber. Diese ermöglichen den Zugriff auf den Datenbanktyp für den sie geschrieben sind." (...)
"Für MySQL stehen mehrere ebenfalls kostenloser Treiber zur Verfügung. Ich habe recht gute Erfahrungen mit dem MySQL Connector/J. Die aktuelle Version ist hier zu finden: http://dev.mysql.com/downloads/connector/j/."
(...)
"Nachdem man die beiden Dateien heruntergeladen hat, starte man den Installer von MySQL. Eine sehr umfassende Dokumentation zu MySql inkl. Installationsanleitung findet man unter http://dev.mysql.com/get/Downloads/Manual/manual-a4.de.pdf/from/pick.
Als nächstes entpackt man die MySQL Connector/J Datei in ein beliebiges Verzeichnis. Hier befindet sich eine Datei mit dem Namen mysql-connector-java-*-bin.jar. Diese muss in den CLASSPATH abgelegt werden.
Damit ist die Installation abgeschlossen."

Also bis zu dem Satz mit CLASSPATH hat alles reibungslos funktioniert.
Nun weiss ich nicht, wie das mit dem CLASSPATH bei meinem Macbook Pro gehen soll.
Unter Windows habe ich das schon erfolgreich installiert, aber mit Apple hab ich keine Ahnung.
Habt Ihr ne idiotensichere kurze Anweisung fuer mich am Start?

Beste Gruesse und vielen Dank im Voraus,
Korbi


----------



## zeja (17. Oktober 2010)

Benutzt du eine Entwicklungsumgebung oder wie kompilierst und startest du deine Java-Anwendung?

Beim kompilieren und starten kann man den Classpath mit -cp angeben. In einer Entwicklungsumgebung kann man den Classpath bei einem Projekt direkt einrichten.


----------



## SPiKEe (17. Oktober 2010)

antwort : FAILED

er wollte nicht wissen wie man beim compilen / starten von java den cp angibt oder ob man dies in einer ide einstellen kann ...
er wollte wissen wie man unter MAC die system-umgebungsvariablie CLASSPATH setz ...
unter windows und unix is das einfach ...
win : rechtsklick arbeitsplatz > eigenschaften > erweitert > umgebungsvariablien *unter vista / 7 ggf abweichend*
unix : in seinem home-dir einfach in die .profile den eintrag "export classpath=" entsprechend anpassen
wie das aber nun unter mac geht sollte dir google verraten können

aber auf das feste setzen eines cp solltest du verzichten wenn du vorhast deine files i-wann mal zu publizieren ...
dafür solltest du lieber mit jar-files und dazu passenden manifest-files arbeiten ...
dann packst du den mysql-connector/j einfach mit in das jar ... gibst das in der manifest an und dann is gut ...

ums vorher zu sagen : überall sieht man noch dieses Class.forName(*driver*) oder DriverManager.registerDriver(*driver*) ... seit java6 braucht man das nicht mehr ... der drivermanager läd automatisch alle driver die zum startzeitpunkt verfügbar sind ...
und da die meisten driver nicht über urlclassloader geladen werden können weil das restliche jar fehlt muss man sowieso das ganze driver-jar angeben und damit wird der driver automatisch geladen ... reicht also das DriverManager.getConnection() um ne verbindung aufzubauen


----------



## z-mon (17. Oktober 2010)

Nabend,

ich habe vor einiger Zeit ein konkretes Beispiel mit dem Zugang auf eine MySQL Datenbank veröffentlicht. Schau dir bitte hierzu das Java MySQL (JDBC) Tutorial an. 
Wenn du Eclipse als Entwicklungsumgebung nutzt sollte es keinen Unterschied machen ob du Mac, Ubuntu oder Windows nutzt.

Grüße


----------



## bsytkorbi (18. Oktober 2010)

Hallo liebe Leute und herzlichen Dank fuer die ausfuehrlichen Antworten.

seitdem ich Eclipse nutze, funktioniert das Ganze ohne den Classpath.
Mittlerweile bin ich allerdings auf "Netbeans" umgestiegen, weil das angeblich Vorteile im direkten Vergleich zu Eclipse bietet.

Trotzdem nochmal vielen Dank fuer Eure Hilfe, das ist hier echt nen super Forum!

Beste Gruesse, Korbi


----------

