next up previous contents
Nächste Seite: Datensätze hinzufügen Aufwärts: SQL Vorherige Seite: JDBC-Treiber verwenden   Inhalt

Datenbankverbindung herstellen

Das Package java.sql stellt eine Reihe von Klassen zur Verfügung, die die gewünschten SQL-Abfragen ermöglichen. Das folgende Beispiel stellt alle Klassen und Methoden vor, die für eine Verbindung zum Datenbankserver notwendig sind.

import java.sql.*;

public class DatenAnzeigen {

    static void zeileAusgeben() {
        String zeile = "+--------+-------+----------------------------------------------------------java-+-------+-------+";
        System.out.println(zeile);
    }
    
    static void headerAusgeben() {
        
        String header ="| id     | Numm. | Artikelbezeichnung                                            | Anz.  | Preis |";
        zeileAusgeben();
        System.out.println(header);
        zeileAusgeben();
    }   
    
    static String bezeichnungAusgeben (String bezeichnung) {
        int bl = bezeichnung.length();
        if (bl < 60) 
            for (int i = bl; i < 60; i++) 
                bezeichnung += ' ';
        return bezeichnung;
    }

    static void sqlAbfrage() {
        try {
            Class.forName("org.gjt.mm.mysql.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://10.0.1.2/kurs","tux","");
            Statement stmt = con.createStatement();
            ResultSet rslt = stmt.executeQuery("select id, nummer, bezeichnung, anzahl, preis from artikel");
            stmt.close();
            con.close();
            headerAusgeben();
            while (rslt.next()) {
                String bezeichnung = bezeichnungAusgeben(rslt.getString(3));
                System.out.println("| " + rslt.getInt(1) + 
                                   "\t | " + rslt.getInt(2) + 
                                   "\t | " + bezeichnung + 
                                   "\t | " + rslt.getInt(4) +
                                   "\t |" + rslt.getDouble(5) +
                                   "\t |");
            }
            zeileAusgeben();
        }
        catch (Exception e) {
            System.out.println("EXCEPTION: " + e.getMessage());
            e.printStackTrace();
        }
    }
    
    public static void main (String args[]) {
        sqlAbfrage();
    }
}

Die Class - Methode forName() initialisiert den angegebenen Treiber org.gjt.mm.mysql.Driver. Die Methode getConnection() der Klasse DriverManager liefert die eine Connection - Schnittstelle zur gewünschten Datenbank. Damit steht die con - Methode createStatement() zur Verfügung, mit der das statement - Objekt erzeugt wird. Die Methode executeQuery() erlaubt schließlich das Ausführen der gewünschten SQL-Abfrage an den bereits verbundenen Server. Sowohl das statement - Objekt als auch das con - Objekt müssen am Ende mit der Methode close() beendet werden.


Die Methode e.printStackTrace() liefert Angaben, in welchen CodeZeilen Fehler aufgetreten sind. Sie liefert daher wertvolle Debug-Informationen.


Wir erhalten auf der Textkonsole damit die folgende Ausgabe:

+--------+-------+----------------------------------------------------------java-+-------+-------+
| id     | Numm. | Artikelbezeichnung                                            | Anz.  | Preis |
+--------+-------+----------------------------------------------------------java-+-------+-------+
| 1      | 143   | Handbuch der Programmierung                                   | 2     |45.55  |
| 2      | 392   | LinuX am Desktop                                              | 4     |24.5   |
| 3      | 102   | MySQL - die komplette Referenz                                | 1     |44.63  |
| 4      | 321   | XML - XSLT, XSLFO, SAX                                        | 1     |39.65  |
+--------+-------+----------------------------------------------------------java-+-------+-------+



Alfred Nussbaumer 2003-02-10