Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1

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

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

JDBC. Allgemeines ODBC. java.sql. Beispiele

Beispiel: DB-Mock (1/7)

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

Datenbanken & Informationssysteme Übungen Teil 1

Oracle: Abstrakte Datentypen:

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

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

Java: Vererbung. Teil 3: super()

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

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

Java: MySQL-Anbindung mit JDBC.

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

Client/Server-Programmierung

Client/Server-Programmierung

Datenbank und Informationssysteme

Webbasierte Informationssysteme

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

Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung

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

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

Java Einführung Collections

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

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

Programmierkurs Java

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

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

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

6.9 Java Server Pages

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

Webbasierte Informationssysteme

Programmieren in Java

Datenbanken auf Sybase SQL-Anywhere

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung

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

Verbinden von IBM Informix mit Openoffice mittels JDBC

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

Einführung in die Programmierung

Wochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P

Oracle & Java HOW TO

JDBC. Java DataBase Connectivity

U08 Entwurfsmuster (II)

Software Engineering Klassendiagramme Einführung

ecaros2 - Accountmanager

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Hauptschritte einer JDBC-App

Dokumentation zur Anlage eines JDBC Senders

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

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

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

WebService in Java SE und EE

Klausur Datenbanken II

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

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

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

Technische Beschreibung: EPOD Server

BitDefender Client Security Kurzanleitung

Willkommen. Datenbanken und Anbindung

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Vorkurs Informatik WiSe 15/16

Grundlagen von Python

Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache)

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

Aufgabenblatt Nr. 5 Generizität und TicTacToe

SAP DB und OpenOffice.org

vs. Fehler zur Übersetzungszeit

Beispielkonfiguration eines IPSec VPN Servers mit dem NCP Client

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Übungsblatt 3: Algorithmen in Java & Grammatiken

Propädeutikum zur Programmierung

Klicken Sie auf Weiter und es erscheint folgender Dialog

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Klausur zur Vorlesung Datenbanksysteme I

Java und Datenbanksysteme Datenbankanbindung mit JDBC

RELATIONONALE DATENBANKEN MIT JDBC

Kapitel DB:VI (Fortsetzung)

Übungen Programmieren 1 Felix Rohrer. Übungen

Kapitel DB:VI (Fortsetzung)

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

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Wie kommen die Befehle zum DBMS

Upgrade-Leitfaden. Apparo Fast Edit. Wechsel von Version 2 auf Version oder Wechsel von Version auf Version 3.0.

Professionelle Seminare im Bereich MS-Office

Einführung in die Programmierung für Wirtschaftsinformatik

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

5. Tutorium zu Programmieren

Scala kann auch faul sein

Transkript:

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1

Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen und Datenbanken eine einheitliche Schnittstelle zu Datenbanken verschiedener Hersteller unter Verwendung von geeigneten Treibern einfache Verarbeitung von SQL Anweisungen Java Pendant zu ODBC (Open Database Connectivity) von C Seit JDK 1.1 Bestandteil von Java http://java.sun.com/products/jdbc/overview.html http://openbook.galileocomputing.de/javainsel8/javainsel_23_003.htm 14.07.2009 Walther Rathenau Gewerbeschule 2

JDBC Architektur Muss extra installiert werden! DB2 Treiber DB2 Datenbank Java Programm JDBC Treiber Manager Oracle Treiber Oracle Datenbank... Im JDK enthalten MySQL Treiber MySQL Datenbank 14.07.2009 Walther Rathenau Gewerbeschule 3

Treiberinstallation Die einzelnen Treiber für die verschiedenen Datenbanken werden meist von den Herstellern kostenlos geliefert. In den meisten Fällen handelt es sich um JAR Dateien, die dann dem CLASSPATH hinzugefügt werden müssen, damit der Java Classloader die entsprechenden Klassen findet. NetBeans bietet über Libraries > ADD JAR/Folder die Möglichkeit, den Treiber dem Java Classloader mitzuteilen! 14.07.2009 Walther Rathenau Gewerbeschule 4

JDBC Beispiel import java.sql.*; public class Test { public static void main( String args[]) { Connection con = DriverManager.getConnection("jdbc:postgresql:database", "user", "passwort"); Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery("select * FROM Country"); while (rs.next()) { System.out.println(rs.getString(1)) con.close(); 14.07.2009 Walther Rathenau Gewerbeschule 5

JDBC Funktionalität Das Package java.sql enthält die Klassen und Schnittstellen des JDBC http://java.sun.com/javase/6/docs/api/java/sql/package-summary.html Aufbau einer Verbindung zur Datenbank über die Klasse DriverManager und die Schnittstelle Connection Versenden von SQL Anweisungen an die Datenbank über die Schnittstelle Statement Verarbeiten der Ergebnismenge über die Schnittstelle ResultSet Siehe: JDBC_Beispiel.java 14.07.2009 Walther Rathenau Gewerbeschule 6

Verbindungsaufbau Aufruf an den DriverManager: Connection name = DriverManager.getConnection ( jdbc-url, user-id, passwd ); Der Treiber Manager stellt über die entsprechenden Klassen des Treibers die Verbindung zur Datenbank her! import java.sql.*; public class Test{ public static void main(string args[]){ Connection con = DriverManager.getConnection("jdbc:postgresql:database", "user", "passwort");... 14.07.2009 Walther Rathenau Gewerbeschule 7

Klasse Statement Die Objekt vom Typ Statement wird verwendet, um SQL Anweisungen an die Datenbank zu schicken. Ein solches Objekt kann nur über ein Connection Objekt erzeugt werden. Statement stmt = connection.createstatement(); ResultSet <result> = stmt.executequery( sql-string ); Statement bietet über verschiedene Methoden die Möglichkeit, die Daten der Datenbank auch zu ändern! //anzahl ist die Anzahl der betroffenen Datensätze int <anzahl> = stmt.executeupdate( sql-string ); 14.07.2009 Walther Rathenau Gewerbeschule 8

Klasse Statement import java.sql.*; Hier wird ein Statement Objekt erzeugt. public class Test { public static void main( String args[]) { Connection con = DriverManager.getConnection("jdbc:postgresql:database", "user", "passwort"); Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery("select * FROM Country");... Hier wird die executequery() Methode des Statement Objekts verwendet, um eine SQL Abfrage an die Datenbank zu schicken! 14.07.2009 Walther Rathenau Gewerbeschule 9

Behandlung von Ergebnismengen Das Ergenis einer SQL Abfrage wird in einem ResultSet- Objekt verwaltet. ResultSet rs = statement.executequery( string ); Die Methode <rs>.next() setzt den Zeiger auf den nächsten zu bearbeitenden Datensatz und liefert zudem den booleschen Wert true. Falls alle Datensätze bearbeitet sind, liefert <rs>.next() den booleschen Wert false! Name Code Population Germany de 83536115 Afghanistan af 15000000 Indien in 1065070607 <rs>.next() liefert true <rs>.next() liefert false 14.07.2009 Walther Rathenau Gewerbeschule 10

Behandlung von Ergebnismengen import java.sql.*; public class Test { public static void main( String args[]) { Connection con = DriverManager.getConnection("jdbc:postgresql:database", "user", "passwort"); Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery("select * FROM Country"); while (rs.next()) { System.out.println(rs.getString(1)) con.close(); liefert den Wert der ersten Ergebnisspalte! 14.07.2009 Walther Rathenau Gewerbeschule 11

Aufgabe 1 Greifen Sie mittels eines Java Programms auf die Mondial Datenbank zu und geben Sie die Namen aller afrikanischen Staaten aus, die Mitglied der Organisation WHO sind! Zeit: 30 Minuten 14.07.2009 Walther Rathenau Gewerbeschule 12

Behandlung von Ergebnismengen Der Zugriff auf die einzelnen Spalten der Ergebnis Datensätze geschieht wie folgt: result-set.get type ( attribute )... ResultSet countries = stmt.executequery ( SELECT Name, Code, Population FROM Country ); Name Code Population Germany de 83536115......... attribute ist die Spaltenbezeichnung und kann entweder durch Spaltennamen oder durch die Spaltennummer gegeben sein. countries.getstring( Code ); countries.getint( Population ); countries.getint(3); liefern denselben Eintrag! 14.07.2009 Walther Rathenau Gewerbeschule 13

Behandlung von Ergebnismengen Der Zugriff auf die einzelnen Spalten der Ergebnis Datensätze geschieht wie folgt: result-set.get type ( attribute ) type ist dabei ein Java Datentyp Datenbank Typen INTEGER REAL,FLOAT BOOLEAN CHAR,VARCHAR DATE TIME get Methode getint(..) getfloat(..) getboolean(..) getstring(..) getdate(..) gettime(..) getstring() funktioniert immer! 14.07.2009 Walther Rathenau Gewerbeschule 14