[SIZE=+1]Voraussetzungen[/SIZE]
Ihr benötigt:
Mit dem runtergeladenen Treiber machen wir nun folgendes:
Wenn wir das runtergeladene Archiv entpacken finden wir folgendes:
Nun machen wir folgendes:
Also wir haben die mysql-connector-java-5.1.7-bin.jar in das libs Verzeichnis unseres Projekts kopiert, damit ist diese aber noch nicht gänzlich in unser Projekt eingebunden.
Wir müssen unserem Projekt noch sagen, das dieses Jar existiert und er darauf zugreifen kann, sofern es nötig ist. Daher öffnen wir nun unser Eclipse und unser Projekt. Wir machen nun ein Rechtsklick auf unser Projekt, welches im Projekt-Explorer nun dargestellt wird und wählen Properties aus.
Was nun kommt werde ich anhand eines Bildes verdeutlichen:
Wir erkennen gut das unter dem Punkt "Java Build Path", den Panelreiter Libaries auswählen müssen. Darauffolgend klicken wir auf "Add JARs" und ein kleines Fenster öffnet sich mal wieder. Dort sollten wir nun alle Archive entdecken, die sich in unserem "libs"-Verzeichnis befinden (egal ob .jar oder .zip).
Ausgewählt und mit OK bestätigt sehen wir unser Ergebnis und es ist zufriedenstellend.
Alles weitere ist Code.
Wie könnte so ein Code aussehen?
Ales erstes müssen wichtige Libs importieret werden:
[highlight="Java"]import java.io.*;
import java.sql.*; [/highlight]
Dann deklarieren wir eine Variable treiber vom Datentyp String und initialisieren sie mit dem Pfad unseres jdbc-Treibers. Darauf nutzen wir auch gleich unsere Variable bzw. den Treiber und Laden diesen.
[highlight="Java"]
String treiber;
treiber = "com.mysql.jdbc.Driver" ;
Class.forName( treiber ).newInstance();[/highlight]
Soweit sogut.
Nun müssen wir eine Verbindung zu Datenbank aufbauen. Dazu deklarieren wir eine Referenz vom Datentyp Connection.
[highlight="Java"]
Connection conn;[/highlight]
Im folgenden erstellen wir wieder eine Variable, hier temp, welche die Adresse unserer Datenbank lagert. Dabei sind nicht nur URL unseres Server wichtig sondern auch die zu benutzen Protokolle. Hier "jdbc:mysql://". Die eigentliche URL die in dem String "dbURL" steht wird einfach drangehängt. Zusätzlich kommt auch der Name der Datenbank ans ende vom String, der ebenfalls in einem String "dbname" steht.
Darunter geschieht das eigentliche für den Verbindungsaufruf. Wir benutzen die Referenz "DriverManager" und die dazugehörige Methode und eine Verbindung zu unserer Datenbank aufzubauen. Beim Aufruf benötigen wir auch einige Parameter. Einmal die temp variable wo unsere Adresse zum Server steht. Einen Benutzernamen für den MySQL Server und evtl. auch ein Passwort.
Die Informationen der Verbindung werden dann in der Referenz "conn", welche wir zuvor erstellet haben, gespeichert.
[highlight="Java"]
String temp = "jdbc:mysql://"+dburl+"/"+dbname;
conn = DriverManager.getConnection(temp, usrname, password);[/highlight]
Nun haben wir eine Verbindung zum MySQL-Server und können diesen ansprechen. Dies könnte z.B. so aussehen.
[highlight="Java"]public ResultSet getQuery(String sqlquery) throws SQLException{
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery( sqlquery );
return rs;
}[/highlight]
Was genau haben wir getan?
Wir erstellen eine Referenz st (Typ Statement) und das mithilfe unseren Verbindungsinformationen. Die Referenz "conn" besitzt eine Methode "createStatement" welches unser st passend initialisiert und SQL Statements über unsere Verbindung laufen.
So geschieht es auch im nächsten Schritt, das wir zu erst eine Referenz rs (Typ ResultSet) deklarieren und diese Initialisieren mit dem Ergebnis eines SQL-Statements. Beispiel: Wir haben ein SELECT - Statement, so wird nun in rs, das Ergebnis vom SELECT gespeichert.
Da die Beispiels Funktion so aufgebaut ist das sie ein ResultSet zurück gibt, können wir im folgenden Abschnitt sehen, was man nun mit so einen Ergebnis nun machen "könnte".
[highlight="Java"]ResultSet rs = getQuery("select * from usr;");
while(rs.next()){
String Zeile = (rs.getString("name"));
System.out.println(bla);
}[/highlight]
Was haben wir getan?
Wir erstellen wieder eine Referenz rs, welches unser Ergebnis eines Select-Statements annehmen und speichern soll. Folgend gehen wir in eine while-schleife, die solange immer die nächste Zeile unseres Ergebnisses durch gehen soll bis es alle Zeilen durchgegangen ist. In der Schleife selber, erstellen wir eine Variable Zeile (Typ String)(Anmerkung: kann auch vor der Schleife geschehen), welches den Inhalt unseres ResultSets "an der Aktuellen" Position auslesen soll. In Klammer steht da nun "name", was bedeutet das nur die Spalte mit der Bezeichnung "name" ausgelesen werden soll. Danach geben wir das Ausgelesene aus und fangen wieder am Schleifenkopf an, solange bis wir die letzte Zeile erreicht haben.
Ich hoffe euch war dieser minimale Einstieg eine Hilfe.
MfG
Matt
hier ist ein Link zu einer Vorlage:
Im Archiv DB-Klasse Kopie.rar findet ihr folgendes:
Ihr benötigt:
- Eclipse oder eine andere Umgebung (Hier präsentiere ich jedoch mit Eclipse:Eclipse Downloads)
- den JDBC Treiber von MySQL (MySQL :: MySQL Downloads)
- Einen MySQL-Server mit Datenbank (Xampp hat eine ganz vernünftige)
Mit dem runtergeladenen Treiber machen wir nun folgendes:
Wenn wir das runtergeladene Archiv entpacken finden wir folgendes:
- Verzeichnis - src
- Verzeichnis - docs
- mysql-connector-java-5.1.7-bin.jar
- und einige andere Dateien die für uns momentan sehr sehr unwichtig sind...
Nun machen wir folgendes:
- Wir erstellen in unserem Projektverzeichnis ein Unterverzeichnis mit der bezeichnung lib und kopieren die mysql-connector-java-5.1.7-bin.jar da rein.
- Projektverzeichnis
- src (existiert schon)
- bin (existiert schon)
- lib (muss erstellt werden)
Also wir haben die mysql-connector-java-5.1.7-bin.jar in das libs Verzeichnis unseres Projekts kopiert, damit ist diese aber noch nicht gänzlich in unser Projekt eingebunden.
Wir müssen unserem Projekt noch sagen, das dieses Jar existiert und er darauf zugreifen kann, sofern es nötig ist. Daher öffnen wir nun unser Eclipse und unser Projekt. Wir machen nun ein Rechtsklick auf unser Projekt, welches im Projekt-Explorer nun dargestellt wird und wählen Properties aus.
Was nun kommt werde ich anhand eines Bildes verdeutlichen:
Wir erkennen gut das unter dem Punkt "Java Build Path", den Panelreiter Libaries auswählen müssen. Darauffolgend klicken wir auf "Add JARs" und ein kleines Fenster öffnet sich mal wieder. Dort sollten wir nun alle Archive entdecken, die sich in unserem "libs"-Verzeichnis befinden (egal ob .jar oder .zip).
Ausgewählt und mit OK bestätigt sehen wir unser Ergebnis und es ist zufriedenstellend.
Alles weitere ist Code.
Wie könnte so ein Code aussehen?
Ales erstes müssen wichtige Libs importieret werden:
[highlight="Java"]import java.io.*;
import java.sql.*; [/highlight]
Dann deklarieren wir eine Variable treiber vom Datentyp String und initialisieren sie mit dem Pfad unseres jdbc-Treibers. Darauf nutzen wir auch gleich unsere Variable bzw. den Treiber und Laden diesen.
[highlight="Java"]
String treiber;
treiber = "com.mysql.jdbc.Driver" ;
Class.forName( treiber ).newInstance();[/highlight]
Soweit sogut.
Nun müssen wir eine Verbindung zu Datenbank aufbauen. Dazu deklarieren wir eine Referenz vom Datentyp Connection.
[highlight="Java"]
Connection conn;[/highlight]
Im folgenden erstellen wir wieder eine Variable, hier temp, welche die Adresse unserer Datenbank lagert. Dabei sind nicht nur URL unseres Server wichtig sondern auch die zu benutzen Protokolle. Hier "jdbc:mysql://". Die eigentliche URL die in dem String "dbURL" steht wird einfach drangehängt. Zusätzlich kommt auch der Name der Datenbank ans ende vom String, der ebenfalls in einem String "dbname" steht.
Darunter geschieht das eigentliche für den Verbindungsaufruf. Wir benutzen die Referenz "DriverManager" und die dazugehörige Methode und eine Verbindung zu unserer Datenbank aufzubauen. Beim Aufruf benötigen wir auch einige Parameter. Einmal die temp variable wo unsere Adresse zum Server steht. Einen Benutzernamen für den MySQL Server und evtl. auch ein Passwort.
Die Informationen der Verbindung werden dann in der Referenz "conn", welche wir zuvor erstellet haben, gespeichert.
[highlight="Java"]
String temp = "jdbc:mysql://"+dburl+"/"+dbname;
conn = DriverManager.getConnection(temp, usrname, password);[/highlight]
Nun haben wir eine Verbindung zum MySQL-Server und können diesen ansprechen. Dies könnte z.B. so aussehen.
[highlight="Java"]public ResultSet getQuery(String sqlquery) throws SQLException{
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery( sqlquery );
return rs;
}[/highlight]
Was genau haben wir getan?
Wir erstellen eine Referenz st (Typ Statement) und das mithilfe unseren Verbindungsinformationen. Die Referenz "conn" besitzt eine Methode "createStatement" welches unser st passend initialisiert und SQL Statements über unsere Verbindung laufen.
So geschieht es auch im nächsten Schritt, das wir zu erst eine Referenz rs (Typ ResultSet) deklarieren und diese Initialisieren mit dem Ergebnis eines SQL-Statements. Beispiel: Wir haben ein SELECT - Statement, so wird nun in rs, das Ergebnis vom SELECT gespeichert.
Da die Beispiels Funktion so aufgebaut ist das sie ein ResultSet zurück gibt, können wir im folgenden Abschnitt sehen, was man nun mit so einen Ergebnis nun machen "könnte".
[highlight="Java"]ResultSet rs = getQuery("select * from usr;");
while(rs.next()){
String Zeile = (rs.getString("name"));
System.out.println(bla);
}[/highlight]
Was haben wir getan?
Wir erstellen wieder eine Referenz rs, welches unser Ergebnis eines Select-Statements annehmen und speichern soll. Folgend gehen wir in eine while-schleife, die solange immer die nächste Zeile unseres Ergebnisses durch gehen soll bis es alle Zeilen durchgegangen ist. In der Schleife selber, erstellen wir eine Variable Zeile (Typ String)(Anmerkung: kann auch vor der Schleife geschehen), welches den Inhalt unseres ResultSets "an der Aktuellen" Position auslesen soll. In Klammer steht da nun "name", was bedeutet das nur die Spalte mit der Bezeichnung "name" ausgelesen werden soll. Danach geben wir das Ausgelesene aus und fangen wieder am Schleifenkopf an, solange bis wir die letzte Zeile erreicht haben.
Ich hoffe euch war dieser minimale Einstieg eine Hilfe.
MfG
Matt
hier ist ein Link zu einer Vorlage:
Im Archiv DB-Klasse Kopie.rar findet ihr folgendes:
- Eine Klasse "ClassDBMySql" welche die Methoden behandelt, um mit einer Datenbank zu hantiere
- Eine Klasse "cmain" zum Testen der ClassDBMySql
- Ein Verzeichnis "libs" in welcher die "mysql-connector-java-5.1.7-bin.jar" findet