Geschrieben von puni am 11.11.2004, 13:04

Moin,

also ich wollte Euch einmal die Materie 'MySQL-Datenbank und Java' näherbringen.

Mit Java kann man viele Dinge bezüglich Datenbankverwaltung konzipieren.
Manche Datenbankbetreiber erlauben einen Eingriff von 'aussen',
die meisten jedoch sind nur über den Localhost zu erreichen.
Deshalb richtet sich dieses Tutorial eher an diejenigen,
die viel mit Datenbanken arbeiten und einen eigenen Server betreiben.
Aber wer sich mit der Materie befassen will, für den habe ich dieses Tutorial verfasst.

Um Datenbanken mit Java verwalten zu können,
benötigt man als erstes einen Java-Database-Connectivity-Treiber,
einen sogenannten JDBC-Treiber.
Es gibt viele Treiber, für allerlei Datenbanken (SQL, MySQL, Oracle usw.),
aber wir brauchen den für die MySQL-Anbindung.
Mit diesem Treiber können wir die Verbindung zur Datenbank herstellen.
Ausserdem benötigen wir das SQL-Package von Java.

Den Treiber, auch MySQL-Connector genannt, downloaden wir zuerst von dieser Seite:
http://dev.mysql.com

Der Treiber wird als JAR-File zur Verfügung gestellt, das wir natürlich in unser Projekt einbinden.
Ich selbst programmiere mit JBuilder und Eclipse,
aber ich gehe davon aus, dass Ihr es beherrscht, JAR-Files ins Projekt zu importieren.

Wenn das erledigt ist, kann es eigentlich auch schon losgehen.
Für die Javaprogrammierung mit Datenbanken sei vorweg gesagt,
dass alles auf try/catch-Methoden aufbaut.

Hier die nötigen Schritte, um eine erfolgreiche Datenbankverwaltung hinzubekommen:
1.Import des SQL-Packages
2.Laden des MySQL-Connectors
3.Aufbau der Verbindung
4.Ausführen der SQL-Anweisungen
5.Verbindung trennen

Schritt 1 � Import des SQL-Packages:

import java.sql.*; /* noch relativ simpel

Schritt 2 � Laden des MySQL-Connectors:


Connection conn = null; /* erzeugt eine Instanz der Klasse Connection und setzt sie auf null
Statement stmt; /* erzeugt eine Instanz der Klasse Statement
ResultSet result; /*erzeugt eine Instanz der Klasse ResultSet

try{
Class.forName("org.gjit.mm.mysql.Driver"); /* Ort des Drivers im JAR-File
}
catch (Exception ex){
System.out.println("Treiber konnte nicht gefunden werden"+ex); /* Fehlermeldung
}


Schritt 3 � Aufbau der Verbindung:


try{
conn = DriverManager.getConnection("jdbc:mysql://"+DBHostname+"/"+DBName, DBUserID, DBPasswort); /* herstellen der Verbindung (ersetzt die Eingaben mit Euren DB-Daten)
}
catch (Exception ex){
System.out.println("Kein Verbindungsaufbau zustande gekommen"+ex); /* Fehlermeldung
}

Schritt 4 � Ausführen der SQL-Anweisungen:

Es gibt viele SQL-Anweisungen und für Java werden diese unterschiedlich gehandhabt.
Ich stelle Euch jetzt aber nur zwei vor, sonst wäre dieses Tutorial ellenlang
und ausserdem soll jeder selbst noch etwas erlernen ;)

Mitgliedsnamen anfordern:


try{
stmt = conn.createStatement(); /* der Instanz wird das Erzeugen eines Statements für die Verbindung conn zugewiesen
String sqlQuery = "SELECT Mitgliedsname FROM Forumuser"; /* initialisiert einen String mit einer Anweisung: Gebe Mitgliedsname aus der Tabelle Forumuser zurück
result = stmt.executeQuery(sqlQuery); /* schickt den String mit der Anweisung zur Datenbank und erhält ein ResultSet zurück
while(result.next()){
System.out.println(result.getString(3) + "\n" + result.getString(10)); /* splittet das ResultSet und gibt die angeforderten Mitgliednamen von dritter und zehnter Stelle zurück
}
}
catch (Exception ex){
System.out.println("Fehler bei Abfrage"+ex)); /* Fehlermeldung
}

Datenbank-Metadaten anfordern:

try{
DatabaseMetaData meta = conn.getMetaData(); /* Instanz wird deklariert und bekommt die Metadaten geliefert
System.out.println("Datenbank: "+meta.getDatabaseProductName()); /* gibt den Namen der DB zurück (in unserem Fall MySQL)
System.out.println("Datenbankversion: "+meta.getDatabaseProductVersion()); /* gibt die Version der Datenbank zurück
}
catch (Exception ex){
System.out.println("Fehler bei MetaDaten-Abfrage"+ex); /* Fehlermeldung
}

Schritt 5 � Trennen der Verbindung:


if(conn != null){
try{
conn.close(); /* Schliesst Verbindung
}
catch (Exception ex){
System.out.println("Verbindung kann nicht getrennt werden"+ex); /* Fehlermeldung
}
}
else{
System.out.println("Verbindung bereits geschlossen");
}

So ... ich hoffe es war alles verständlich,
jedenfalls will ich Euch das Prinzip etwas näher gebracht haben.

Bei Fragen steht Euch mein Postfach offen :)

Gruss,
Puni

Bewertung Anzahl
6
76,9 %
10 Bewertungen
5
15,4 %
2 Bewertungen
1
7,7 %
1 Bewertungen