Java SE 8 Programmer II: JDBC

Seit Java 8 müssen Driver nicht mehr manuell über den DriverManager geladen werden. Der Treiber initialisiert sich selbst und registriert sich mit dem DriverManager. Die Implementierung ist Hersteller-abhängig.
Wenn nun eine Connection zu einer DB per JDBC URL angefordert wird, liefert der DriverManager den passenden Treiber. Die JDBC URL ist herstellerspezifisch.
Wenn bei getConnection sowohl in der URL, wie auch in den Übergabe-Parametern Username und Passwort mitgegeben werden, ist es herstellerabhängig, mit welchen Werten authentifiziert wird.

Eine Connection ist per default auto-commit.

Ein Statement kann mehrfach ausgeführt werden. Das erzeugte ResultSet wird ungültig, sobald das Statement erneut ausgeführt wird.
PreparedStatements sind effizienter, da sie vom DBMS vorkompiliert werden. Dabei werden Parameter als '?' notiert.
Der Aufruf von execute(String) ist zwar für PreparedStatements zur Compile-Zeit korrekt (wegen Vererbung von Statement), aber zur Laufzeit wird eine SQLException ausgelöst.

Ein default ResultSet hat einen Cursor, der nur vorwärts bewegt werden kann. Am Anfang steht er vor der ersten Zeile.

Das Schliessen einer JDBC Objekts mittels .close() schliesst alle jeweils enthaltenen Komponenten. Der Aufruf von close() auf implizit geschlossenen JDBC Komponenten hat keinen Effekt.
Eine Connection ist AutoCloseable.