seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql



Ähnliche Dokumente
JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

Java Database Connectivity (JDBC) Walther Rathenau Gewerbeschule 1

Datenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen

JDBC. Allgemeines ODBC. java.sql. Beispiele

Oracle: Abstrakte Datentypen:

Datenbankzugriff mit JDBC

Java und Datenbanksysteme Datenbankanbindung mit JDBC

11 Anwendungsprogrammierung

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Kapitel DB:VI (Fortsetzung)

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter

Client/Server-Programmierung

Programmieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Datenbank und Informationssysteme

Beispiel: DB-Mock (1/7)

Hauptschritte einer JDBC-App

Datenbanken & Informationssysteme Übungen Teil 1

JDBC. Java DataBase Connectivity

Webbasierte Informationssysteme

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme

Datenbanken SQL JDBC. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 21

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Client/Server-Programmierung

Webbasierte Informationssysteme

DB-Programmierung. Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1. Ziele. DB2 Zugriff mit Java selbst programmieren

Programmierkurs Java

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java.

Klausur zur Vorlesung Datenbanksysteme I

Kapitel DB:VI (Fortsetzung)

Datenbankzugriff mit JDBC

Verbinden von IBM Informix mit Openoffice mittels JDBC

Udo Matthias Munz. Datenbanken und SQL. mit. Einführung. Informationstechnik

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: Übung WS 2014/2015

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

Einführung in JDBC. IFIS Universität zu Lübeck

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

C# - Einführung in die Programmiersprache Arbeiten mit ADO.NET. Leibniz Universität IT Services Anja Aue

Interaktive Webseiten mit PHP und MySQL

Java: MySQL-Anbindung mit JDBC.

Propädeutikum zur Programmierung

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

Betriebshandbuch. MyInTouch Import Tool

Hauptschritte einer JDBC-App

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Willkommen. Datenbanken und Anbindung

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Universität Stuttgart Abteilung Anwendersoftware Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures

OP-LOG

Programmieren II. Relationale Datenbanken. Vorlesung 07. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011.

Prozedurale Datenbank- Anwendungsprogrammierung

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 6

Unsere Webapplikation erweitern

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

3. Stored Procedures und PL/SQL

SJ OFFICE - Update 3.0

Updatehinweise für die Version forma 5.5.5

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Vorlesung Informatik II

Zugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004

Java Database Connectivity-API (JDBC)

Ho Ngoc Duc IFIS - Universität zu Lübeck

Dokumentation zur Anlage eines JDBC Senders

vs. Fehler zur Übersetzungszeit

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Datenbanken auf Sybase SQL-Anywhere

Kapitel 11: Anwendungsentwicklung

Kapitel 11: Anwendungsentwicklung

Kapitel 11: Anwendungsentwicklung

Datenmanagement in Android-Apps. 16. Mai 2013

OFFLINE SYNCHRONISATION - ENIQ ACCESSMANAGEMENT PROGRAMMIER-CLIENT (ENIQ DEVICEMANAGEMENT) EINRICHTEN INSTALLATION DER SQL SERVER INSTANZ

Datenbank-Programmierung mit JDBC Weiterbildungsmaßnahme Technische und Praktische Informatik Sommersemester 2003

Oracle APEX Installer

Technische Beschreibung: EPOD Server

Gesicherte Prozeduren

6.9 Java Server Pages

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

Lehrveranstaltung Grundlagen von Datenbanken

Datenbanken 1 für Mediennformatiker WS ODBC, JDBC und SQLJ: Datenbank-Anbindung an Anwendungsprogramme

Oracle & Java HOW TO

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Dieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren.

Transkript:

JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken benutzen zu können JDBC vereinheitlicht durch eine Programmierschnittstelle den Zugriff auf unterschiedliche Datenbanken für die Benutzung zusätzlich notwendig sind spezielle JDBC-Treiber für die jeweiligen Datenbanken, die die speziellen, unterschiedlichen Zugriffarten für die jeweilige Datenbank beherrschen. JDBC verwendet den SQL 2 -Standard von 1992. Aktuelle Version JDBC 3.0 seit j2sdk1.4.0

JDBC-Treiber ( s.a. java.sun.com/products/jdbc) 4 Arten 1. JDBC-ODBC Bridge Treiber Nativer Treiber, um einfach auf unter Windows über ODBC verfügbare Datenbanken zugreifen zu können 2. Native API Java Treiber Diese Treiber übersetzen die JDBC-Aufrufe mit Hilfe von nativen Methoden in Datenbankaufrufe. 3. Netz-Protokoll All-Java Treiber für eine db-unabhängige Netzwerkschnittstelle in Java geschriebene Treiber. 4. Native Protocoll All-Java Treiber in Java geschriebene Treiber, die direkt mit der Datenbank kommunizieren können, herstellerabhängig

Typische Verarbeitungsfolge 1. JDBC-Datenbanktreiber laden ( forname() ) 2. Verbinden mit der Datenbank ( getconnection() ) 3. SQL-Anweisungen zur Datenbank senden - Vorbereiten ( z.b. createstatement() ) - SQL-Anweisung ausführen ( z.b. executequery() oder executeupdate() ) 4. Ergebnisse auswerten ( z.b. next(), getxxx() ) 5. Verbindung schliessen ( close() )

JDBC-Treiber laden mit der Methode forname() aus der Klasse java.lang.class: public static Class forname( String classname ) throws ClassNotFoundException Beispiele: JDBC-ODBC-Brückentreiber für Windows: Class.forName( sun.jdbc.odbc.jdbcodbcdriver ); McKoi-JDBC-Treiber: Class.forName( com.mckoi.jdbcdriver ); Oracle-JDBC-Treiber: Class.forName( oracle.jdbc.driver.oracledriver ); MySQL-JDBC-Treiber: Class.forName( org.gjt.mm.mysql.driver );

Verbinden mit der Datenbank Klasse java.sql.drivermanager: 3 überladene Methoden getconnection() z.b.: public static Connection getconnection( String url, String user, String password ) throws SQLException String url enthält die Angabe einer Datenquelle in der Form jdbc:subprotocol:datasource (s. Doku zum Treiber)

Verbinden mit der Datenbank Beispiele: ODBC-Datenbankverbindung: Connection con = DriverManager.getConnection( jdbc:odbc:kundendb, uuu, ppp ); lokale McKoi-Datenbankverbindung: String url = jdbc:mckoi:local://e:/mymckoi/exampledb.conf ; String user = user, pass = pass1212 ; Connection con = DriverManager.getConnection( url,user,pass ); remote Oracle Datenbankverbindung: String url = jdbc:oracle:thin:@ux-01:1521:db02 ; // Version 8 String user = scott, pass = tiger ; Connection con = DriverManager.getConnection( url,user,pass ); lokale MySQL-Datenbankverbindung: String url = jdbc:mysql://localhost/testdb ; String user =, pass = ; Connection con = DriverManager.getConnection( url,user,pass );

Vorbereitung, um ein SQL-Kommando zur DB zu senden Dazu muss zuerst ein Statement-Objekt erstellt werden für Datenbankabfragen, die nur selten verwendet werden: Interface java.sql.connection 3 überladene Methoden createstatement(): z.b.: public Statement createstatement() throws SQLException Beispiel: Statement stmt = con.createstatement();

SQL-Kommandos ausführen um Datenbankabfragen ( SELECT ) zu erledigen Interface java.sql.statement Methode executequery(): z.b.: public ResultSet executequery( String sql ) throws SQLException führt die als Parameter übergebene SQL-Anweisung aus und gibt ein ResultSet-Objekt mit den Ergebnissen zurück Beispiel: ResultSet result = stmt.executequery( SELECT * FROM Person );

Auswertung des ResultSet-Objekts Das ResultSet-Objekt enthält für jede Zeile einen Eintrag. Mit der Methode next() kann jeweils ein Eintrag nach dem anderen verarbeitet werden: public boolean next() throws SQLException Bsp: while( result.next() ) { System.out.println( result.getstring(1) + \n + result.getint( age ) ); } für jeden Datentyp in SQL gibt es einen meist übereinstimmenden Datentyp in JAVA. Mit getter-methoden können die Ergebnisse des ResultSets in Java- Variablen übernommen werden.

Auswertung des ResultSet-Objekts für jeden Datentyp in SQL gibt es einen meist übereinstimmenden Datentyp in JAVA. Mit getxxx-methoden können die Ergebnisse des ResultSets in Java- Variablen übernommen werden. z.b.: getdouble( ) für SQL-Typ DOUBLE getstring( ) für SQL-Type VARCHAR, CHAR alle Spalten können mit getstring() übernommen werden, unabhängig vom SQL-Datentyp

Auswertung des ResultSet-Objekts Sie existieren in 2 Ausführungen mit jeweils einem Parameter vom Typ int oder String double getdouble( int i ) liefert den Wert der i. Spalte als double-wert Beachte: Spaltennr. beginnen ab 1! Bsp: double x = result.getdouble( 3 ); liefert den Wert der 3. Spalte als double-wert double getdouble( String s ) liefert den Wert der Spalte s als double-wert Bsp: double x = result.getdouble( Entfernung ); liefert den Wert Spalte Entfernung als double-wert

SQL-Kommandos ausführen um Datenbankänderungen (INSERT, DELETE, UPDATE) zu erledigen, aber auch z.b. für CREATE Interface java.sql.statement Methode executeupdate(): z.b.: public int executeupdate( String sql ) throws SQLException führt die als Parameter übergebene SQL-Anweisung aus und gibt einen int-wert zurück mit der Anzahl Einträge, die bearbeitet wurden oder 0 für SQL-Anweisungen, die nichts zurückgeben, wie z.b. CREATE. Beispiel: int anz = stmt.executeupdate( DELETE FROM Person + WHERE name = 'Eva Mustermann' );