04 - JDBC Flashcards
Definition: JDBC
JDBC steht für Java Database Connectivity, die es ermöglicht eine Verbindung zur Datenbank aufzubauen und sämtliche SQL-Befehle aus Java an die Datenbank zu schicken.
Definition: JDBC-API
JDBC bietet eine einheitliche API, die unabhängig vom DBMS ist. Bei dieser API wird direkt ein passender Treiber zum DBMS benutzt, damit die SQL-Befehle aus JDBC richtig an das DBMS geschickt werden können.
java.sql Klassen (4)
1) Connection
2) Statement
3) ResultSet
4) SQLException
Klassen: Connection
Man kann mit dieser Klasse eine Verbindung zur Datenbank aufbauen, indem man ein Connection-Objekt erzeugt.
Klassen: Statement
Ein Statement-Objekt repräsentiert ein SQL-Statement. Mit den Methoden executeQuery() und executeUpdate() können SELECT und INSERT/UPDATE/DELETE Befehle geschickt werden.
Klasse: ResultSet (4)
1) Diese Klasse repräsentiert das Ergebnis eines SELECT-Befehls in einer Tabellen-Struktur. Sie ist folgendermaßen aufgebaut:
2) Zeilen enthalten die einzelnen Datensätze
3) Spalten enthalten Attribute
4) Spalten-Index beginnt mit 1 und nicht 0
Nachteil: JDBC
Notwendige Abbildungen zwischen Variablen der Objekte und Attribute der Relationen sind jedoch sehr aufwendig. Diese Abbildungen müssen rein manuell programmiert werden (aufwendig).
Syntax: Connection Aufbauen
Connection connection = DriverManager.getConnection(String DB-URL, String DB-Benutzer, String DB-Passwort); aufrufen
Syntax: DB-Verbindung Schließen
connection.close();
connection ist hier der Name des frei wählbaren Connection-Objekt
Syntax: Statement-Objekt erzeugen
Statement statement = connection.createStatement();
connection ist hier der Name des frei wählbaren Connection-Objekt
Syntax: SELECT-Befehl absenden
ResultSet query = statement.executeQuery(“SELECT * FROM Studenten”);
Syntax: INSERT/UPDATE/DELETE-Befehl absenden
statement.executeUpdate(“UPDATE …”);
Hier wird nur die Anzahl an geänderten Datensätze zurückgegeben und kein ResultSet-Objekt.
Syntax: Zeilen eines ResultSets durchiterieren
resultSet.next();
Diese Methode sollte am Anfang immer aufgerufen werden, damit man zur 1. Zeile kommt.
Syntax: Wert einer ResultSet Zeile auslesen
resultSet.getString(int spaltenIndex)