JDBC

Werbung
Allgemeines
ODBC
java.sql
Beispiele
JDBC
• Java Data Base Connectivity
• Programmierschnittstelle für relationale
Datenbanken
• Sammlung von Klassen, welche zum
Aufbau einer Verbindung zwischen
einem Java-Programm und einer
Datenbank dienen
• Verwendet SQL zur Datenbankabfrage
Allgemeines
Datenbankabfragen mit Java und JDBC
ODBC
java.sql
Beispiele
Java
JDBC LAN/Internet Datenbank
Allgemeines
ODBC
java.sql
Beispiele
Durchführung einer
Datenbankabfrage mit JDBC
• Erstellen einer MS Access
Datenbank
• Einrichtung einer ODBCTreiberverbindung
• Abfrage der Datenbank in
einem Java-Programm mit
JDBC
Allgemeines
ODBC
java.sql
Beispiele
Aufgabe: Erstellen Sie eine MS-Access
Datenbank mit dem Namen Filme. Diese
Datenbank besteht aus einer Tabelle mit
dem Namen Film und den Feldern
Nummer (Autowert, = Primärschlüssel),
Titel (Text) und Regisseur (Text). Geben
Sie drei Datensätze ihrer Wahl ein.
Allgemeines
ODBC
java.sql
Beispiele
ODBC
• Standarddatenbanktreiber für
Windows Betriebssysteme
• Einrichten einer Datenquelle
(Access)
– Gehen Sie in die
Systemsteuerung
(START/EINSTELLUNGEN/
SYSTEMSTEUERUNG)
– Wählen Sie 32-Bit-ODBC bzw.
VERWALTUNG/Datenquellen
Allgemeines
ODBC
java.sql
Beispiele
– Wählen Sie die
Registerkarte
Benutzer-DSN und
Hinzufügen
– Geben Sie den
Datenquellenname
Filme an
– Wählen Sie die
Datenbank aus
Allgemeines
ODBC
Wichtige Klassen und Interfaces
des Package java.sql
• Driver
java.sql
• DriverManager
Beispiele
• Connection
• Statement
• ResultSet
Interface das jeder Treiber
implementieren muss
stellt eine Verbindung
zwischen Programm und
Datenbank her
Verbindung zwischen Programm
und Datenbank
Befehle die an die Datenbank
geschickt werden
Daten die zurückgeliefert
werden
Reihenfolge
Allgemeines
ODBC
java.sql
Beispiele
•
•
•
•
•
Verbindungsaufbau (Connection)
Erzeugen eines Abfrageobjekts (Statement)
Erzeugen eines Ergebnismengenobjekts (ResultSet)
Ausführen der Abfrage (executeQuery)
Ausgabe
import java.sql.*;
public class Filmabfrage {
public static void main (String[] args) throws Exception {
Allgemeines
ODBC
java.sql
Laden des Treibers
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Verbindung zur
Datenbank aufbauen
und Statement
erzeugen
Connection verbindung = DriverManager.getConnection("jdbc:odbc:Filme");
Auslesen der Daten
Statement befehl = verbindung.createStatement();
ResultSet datenmenge;
datenmenge = befehl.executeQuery("SELECT * FROM Film;");
Beispiele
String titel;
String regisseur;
while (datenmenge.next()) {
Ausgabe der
Datensaetze
titel = datenmenge.getString("Titel");
regisseur = datenmenge.getString("Regisseur");
System.out.println(titel + ": " + regisseur);
}
verbindung.close();
}
}
Allgemeines
ODBC
java.sql
Beispiele
Aufgabe: Ändern Sie das Programm
dahingehend, dass nur mehr der
Datensatz welcher zum Titel "Alien"
gehört ausgegeben wird.
Anmerkung: Belassen Sie die SQLAnweisung und führen Sie die
Änderungen im Ausgabeteil durch.
Lösung
Allgemeines
ODBC
java.sql
while (datenmenge.next()) {
titel = datenmenge.getString("Titel");
regisseur = datenmenge.getString("Regisseur");
Beispiele
if(titel.equals("Alien"))
System.out.println(titel + ": " + regisseur);
}
Allgemeines
ODBC
Aufgabe: Ändern Sie das Programm so, dass
Sie nach einem Titel ihrer Wahl gefragt
werden.
java.sql
Beispiele
Anmerkung:
• Importieren Sie das Package java.io.*;
• Fügen Sie folgende Anweisungen in die mainMethode ein:
System.out.println("Geben Sie einen Filmtitel ein:");
BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
String eingabewert = eingabe.readLine();
Allgemeines
ODBC
java.sql
Beispiele
Aufgabe: Erstellen Sie eine Datenbank
Haustiere mit den Feldern Nummer (Autowert,
Primärschlüssel), Tierart (Text), Name (Text),
und Gewicht (Zahl).
Fragen Sie diese Datenbank über ein JavaProgramm HaustiereAbfrage ab.
Geben Sie zunächst alle vorhandenen Daten
aus und fügen Sie erst dann die Möglichkeit
ein, einen Abfragewert "von außen"
einzugeben.
Versuchen Sie das Programm schrittweise
aufzubauen und erklären Sie die Bedeutung
der einzelnen Programmteile.
Herunterladen