Der Zugriff auf Datenbanken innerhalb Java erfolgt mit dem JDBC API. JDBC steht für "Java Database Connectivity". JDBC bietet einen universellen Datenzugriff für die Sprache Java an. Die aktuelle Version ist JDBC 3.0. für Java 5 und JDBC 4.0 für Java 6. Mit dieser Version und entsprechende Treiber ist ein Zugriff auf relationale Datenbanken, Daten von Tabellenkalkulationsprogrammen sowie normale Textdateien möglich. Das JDBC API ist auf die zwei Java-Pakete java.sql.* und javax.sql.* aufgeteilt. Beide Pakete sind Bestandteile von J2SE (Java 2 Standard Edition) Version 1.4, und 5 respektive Java 6.
Damit mit dem JDBC API auf ein bestimmtes Datenbanksystem zugegriffen werden kann, muss ein entsprechender Treiber vorliegen, welche die Vermittlung zwischen dem JDBC Technologie und dem Datenbanksystem übernimmt. Abhängig von verschiedenen Faktoren, kann ein Treiber in 100% Java geschrieben sein oder aus einem Mix zwischen Java und anderen Programmiersprachen sein, welche Funktionen bereitstellen, die mittels JNI (Java Native Interface) aufgerufen werden. Heute gibt es für alle gängigen Datenbanksysteme einen entsprechenden Treiber. Zusätzlich gibt es noch die so genannte JDBC-ODBC-Bridge, welche Zugriffe über sämtliche ODBC-Treiber ermöglicht.
Ein Connection-Objekt repräsentiert eine Verbindung zu einer Datenbank. Eine Applikation kann eine oder mehrere Verbindungen zu einem Datenbanksystem sowie Verbindungen zu mehreren Datenbanksystemen unterhalten.
Die Verbindung zu einer Datenbank kann auf traditionelle Art mit dem Funktionsaufruf DriverManager.getConnection gemacht werden. Diese Methode erwartet als Parameter eine Zeichenkette, welche einen URL beinhaltet. Die URL spezifiziert dabei eindeutig die Datenbank, auf welche zugegriffen werden soll. Eine Alternative zum DriverManager bietet die Schnittstelle DataSource. DataSource ist die bevorzugte Weise, wenn die Verbindung mittels eines Applikationservers gemacht wird oder wenn ein Connection-Pooling verwendet wird.
Seit Java 6 wird mit der JDK Variante JavaDB mitgeliefert. JavaDB basiert auf Apache Derby.
Sun hat die freie Datenbank Apache Derby als Java DB in das Java Development Kits (JDK) integriert. Das schlanke und komplett in Java geschriebene Datenbank-Management-System basiert auf Cloudscape, einer Datenbank, die IBM im Oktober 2004 an die Apache Software Foundation als Open Source übergab.
Lesen Sie mir zu Derby alias JavaDB auf der Seite JavaDB Grundlagen.
Hier ein kleines "Hello World" Programm mit Derby als Datenbank und grundlegende JDBC-Anweisungen.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: |
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class HelloDerby { static final String DRIVER = "org.apache.derby.jdbc.EmbeddedDriver"; static final String URL = "jdbc:derby:derbydb;create=true"; static final String CREATE_TABLE = "create table hello( world varchar(100))"; static final String DROP_TABLE = "drop table hello"; static final String INSERT = "insert into hello values (Hello World)"; static final String SELECT = "select * from hello"; public static void main(String[] args) { try { Class.forName(DRIVER).newInstance(); Connection connection = DriverManager.getConnection(URL); Statement statement = connection.createStatement(); ResultSet resultSet = null; statement.execute(CREATE_TABLE); statement.execute(INSERT); resultSet = statement.executeQuery(SELECT); while(resultSet.next()) { System.out.println(resultSet.getString(1)); } resultSet.close(); statement.execute(DROP_TABLE); statement.close(); } catch( Exception ex ) { ex.printStackTrace(); } } } |
Weitere Beispiele finden sie hier.
![]() |
Scherer Informatik GmbH | Tel 032 396 39 05 | ||
| Juchen 24A | Fax 032 396 39 06 | |||
| CH-2577 Siselen | info(at)scherer-informatik.ch |