Donnerstag, 24. Mai 2012


Artikel

Juli 2010 | Artikel

Zugriff auf MySQL mit Java

(Link zum Artikel: http://www.entwickler-magazin.de/jaxenter//003208)

Grundlagen

Text: Christian Barthel
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share
Dieser Artikel beschreibt Schritt für Schritt den Zugriff auf eine MySQL-Datenbank mit Java. Nachdem wir die Syntax unserer SQL-Abfrage erstellt haben, werden wir den JDBC-Treiber (der die Vermittlung zwischen Java und der Datenbank regelt) einbinden, geeignete Abfrageklassen schreiben und am Ende die Daten in einer Tabelle ablegen. Zum Schluss fügen wir einen neuen Datensatz in unsere Tabelle ein. Voraussetzung dafür ist ein funktionierender MySQL-Datenbankserver, eine intakte Entwicklungsumgebung, Beispieldaten und eine Internetverbindung mit der wir unseren JDBC-Treiber herunterladen können.
Teil 1   Teil 2   

Szenario im Überblick

Heutzutage werden täglich Unmengen an Daten erfasst. Sei es nun eine Web-2.0-Anwendung (Facebook, Twitter, MySpace, …), ein weltweites Unternehmensinformationssystem, das kleine Netzwerküberwachungsprogramm oder die selbst programmierte Personalverwaltungsapplikation: All diese Systeme verwenden Datenbanken als Datenverarbeitungsgrundlage.

In der Programmiersprache Java haben Sie natürlich ebenfalls die Möglichkeit, mit Datenbanken "zu sprechen". Um nun mit möglichst vielen verschiedenen Datenbankprodukten Informationen austauschen zu können, wurde das JDBC-Treibermodell entwickelt. JDBC bietet eine einheitliche Schnittstelle zu den unterschiedlichsten Datenbanken. Mithilfe des JDBC-Treibers kann es uns als Entwickler egal sein, welche Datenbank zugrunde liegt. Oracle? MySQL? DB2? Microsoft Access? All dies ist mit dem universellen JDBC-Treiber kein Problem.

Die Hauptaufgaben von JDBC – was im übrigen für Java Database Connectivity steht – ist die Verbindungsherstellung, die Verwaltung der Verbindung an sich, SQL-Anfragen an die Datenbank weiterzuleiten und die Ergebnisse in eine für Java nutzbare Form umzuwandeln.

Für jede spezifische Datenbank ist ein eigener Treiber erforderlich. Diese Treiber werden in der Regel von den Datenbankherstellern angeboten.

JDBC-Typen

In der JDBC-Spezifikation ist von vier unterschiedlichen Typen die Rede:

Typ-1-Treiber

Kommunikation findet über einen JDBC-ODBC -Bridge statt

der Typ-1-Treiber ist abhängig von einem installiertem ODBC-Treiber

typischerweise kommt die Treiberart dann zur Verwendung, wenn es zur Datenbank keinen JDBC-Treiber gibt, jedoch einen ODBC-Treiber (Abb. 2)

Typ-2-Treiber

Kommunikation mit dem DB -Server erfolgt über eine plattformspezifische Programmbibliothek auf dem Client

d. h. es muss für jede zu unterstützende Betriebssystemplattform eine zusätzliche Programmbibliothek entwickelt werden (Abb. 3)

Typ-3-Treiber

Typ-3-Treiber übersetzen JDBC-API-Befehle in generische DBMS -Befehle

diese werden z. B. über ein Netzwerkprotokoll an einen Middleware-Treiber auf einem Anwendungsserver übertragen

erst dieser Anwendungsserver transformiert die Befehle für die spezifischen Datenbankserver (DB2, MySQL oder andere) und leitet sie vollständig zur Datenbank durch

Typ-3-Treiber sind somit nicht plattformspezifisch

Typ-3-Treiber müssen nicht über den verwendeten Datenbankserver wissen

bevorzugter Einsatz bei Internetprotokollen im Zusammenhang mit Firewalls (Abb. 4)

Typ-4-Treiber

hier werden die JDBC-API-Befehle direkt in DBMS-Befehle des jeweiligen Datenbankservers übersetzt

arbeitet schneller als ein Typ-3-Treiber, jedoch nicht so flexibel

geeignet für Intranet- und WAN-Lösungen, die schnelle Netzwerkverbindungen zur Verfügung stellen können (Abb. 5)

 
 

Teil 1   Teil 2   

andere Artikel dieser Serie

Kommentare

Gravatar Gustav 06.07.2010
um 12:42 Uhr
Nichts für ungut, aber dieser Artikel ist technisch äußerst anspruchslos... #zitieren
Gravatar Christian 06.07.2010
um 13:08 Uhr

Gustav:
Nichts für ungut, aber dieser Artikel ist technisch äußerst anspruchslos...

In der Tat ist der Artikel recht grundlegend. Allerdings muss man fairerweise den Ausbildungsstatus des Autor betrachten ("Christian Barthel macht eine Ausbildung zum Informatikkaufmann.") und ihm zugute halten, dass er sich damit auseinander setzt und vor allem sein Wissen weitergeben möchte.
Nichtsdestotrotz lässt sich darüber streiten, ob der Artikel hier erscheinen muss oder nicht doch besser in einem Blog aufgehoben wäre.
Ansonsten möchte ich dem Autor dazu raten, nicht davor zurück zu schrecken, etwas zu weiteren Themen schreiben.
(Nur über das Verhältnis "Anspruch zu Veröffentlichungsort" sollte noch einmal nachgedacht werden.)
#zitieren
Gravatar christian barthel 06.07.2010
um 13:57 Uhr
Hi
@Gustav
Danke für die Kritik. Jedoch hab ich noch einen 2. und 3. Teil geschrieben, der sich dann tatsächlich intensiver mit der Programmierthematik beschäftigt (allerdings halt auch für Java-Datenbank-Anfänger). Die nächsten Teile sollten demnächst auch irgendwann hier erscheinen. Ich wollte den Einstieg einfach auch für Personen ermöglichen, die bisher noch keinen Bezug zu SQL hatten ...
#zitieren
Gravatar Aljoscha Rittner 06.07.2010
um 14:36 Uhr
Moin!

Wenn ich die Anfragelevel auf netbeans-.forum.de sehe, bin ich durchaus glücklich mal wieder einen aktuellen Artikel zu sehen, der bei den Grundlagen beginnt. Man muss dann nicht immer alles selber erklären ;-) - nur beim Code Review des Quelltextes hätte ich noch was anzumerken, ist aber bestimmt nur nitpicking. Trotzdem, auch hier passen bestimmt solche Artikel.

Beste Grüße!
#zitieren