Java und Datenbanksysteme Datenbankanbindung mit JDBC



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

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

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

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

JDBC. Java DataBase Connectivity

Datenbank und Informationssysteme

Wie kommen die Befehle zum DBMS

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

Client/Server-Programmierung

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

Oracle: Abstrakte Datentypen:

Beispiel: DB-Mock (1/7)

Praktikum Datenbanksysteme

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

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

6.9 Java Server Pages

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

Java: MySQL-Anbindung mit JDBC.

Verteidigung gegen SQL Injection Attacks

Java Database Connectivity-API (JDBC)

Webbasierte Informationssysteme

Wie kommen die Befehle zum DBMS

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

11 Anwendungsprogrammierung

Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können!

A Generic Database Web Service for the Venice Lightweight Service Grid

Ziel: wie kann man in Java auf Datenbanken zugreifen und Daten manipulieren? dazu brauchen wir:

vs. Fehler zur Übersetzungszeit

Übung3. Test der Möglichkeiten des JDBC-Interfaces. Prof. Dr. Andreas Schmietendorf 1. Übung 3

Datenbankzugriff mit JDBC

FileMaker und Java...und es öffnen sich neue Welten!

Java Database Connectivity. Gracin Denis, IB 4 C

Willkommen. Datenbanken und Anbindung

Datenbanken & Informationssysteme Übungen Teil 1

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

MySQL mit MyLinux. 2/2003 Java unter Linux

Kapitel DB:VI (Fortsetzung)

Hauptschritte einer JDBC-App

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

Java Database Connectivity-API (JDBC)

Oracle & Java HOW TO

SAP NetWeaver Gateway. 2013

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

Datenbank Anbindung. Arthur Zaczek. Nov 2014

embedded SQL Embedded SQL wurde erstmals im SQL92- Standard definiert.

SQL, MySQL und FileMaker

Vorlesung Informatik II

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7

Klausur Datenbanken II

Programmieren und DBMS. Dr. Karsten Tolle

Java Database Connectivity-API (JDBC)

Transaktionen in der Praxis. Dr. Karsten Tolle

Datenbankzugriff mit JDBC

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

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

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

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

Einbettung in SQL. Zwei Prinzipien: (1) Statische Einbettung

JDBC. Allgemeines ODBC. java.sql. Beispiele

Modifikation der Datenbank

Grafische Auswertung von Iptables Logfiles

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

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

Klausur zur Vorlesung Datenbanksysteme I

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

Transkript:

Java und Datenbanksysteme Datenbankanbindung mit JDBC 30.05.2001 Stefan Niederhauser sn@atelier-w.ch 1-Einführung Datenbanksysteme Java und Datenbanken: JDBC Geschichte der JDBC-Versionen Vergleich von Suns JDBC zu Microsofts ODBC

Datenbanksysteme Anwendungsbereich von Datenbanksystemen Verwaltung grosser Datenbestände Optimierter Zugriff Transaktionsmanagement (Rollback) SQL als standardisierte Abfragesprache Alternativen für den Heimgebrauch Flat Files (XML, Tab separiert, etc.) In-Memory Datenbanken java.util.properties Freie Datenbanksysteme (MySQL, HyperSonic SQL, etc.) Java und Datenbanken: JDBC JDBC als integraler Bestandteil der Sun Strategie auf dem Enterprise Markt Plattformübergreifende Entwicklung und Flexibilität beim Datenbankzugriff Simples API als Grundlage

Geschichte der JDBC Versionen JDBC 1.0 (Januar 1997) jdbc.sql.* als optionales Paket JDBC 2.0 (Mai 1998) java.sql.* in JSE2 Neue Datentypen, Performance Hints, etc. javax.sql.* zusätzlich in JEE2 Connection Pooling, JNDI Integration, JTS Integration, etc. JDBC 3.0 in der Public Review seit April 2001 Feedback an jdbc@eng.sun.com Safepoint (Transaction Support), Besserer Java Objekt Integration, etc. JDBC vs. ODBC Basis beider API's X/Open SQL CLI (Call Level Interface) Für ODBC-Developper entwickelt Einfacher Übergang durch ähnlichen Aufbau Mit ODBC-Treibern einsetzbar Durch Typ 1 Driver von Sun oder Drittherstellern Plattformunabhängigkeit vs. Geschwindikeit

2-Implementation Datenflussdiagramm JDBC Driver Typen JDBC Objekte JDBC Datentypen JDBC URL s Datenflussdiagramm Java Applikati o n Java Applet JD JD C B PI A C B vermanager D r i Driver Dr iver MiddleWare Driver OD C B DB MS DB MS

JDBC Driver Typen Typ 1 ODBC Typ 2 Native C Implementation Typ 3 Java.Net Implementation via MiddleWare Typ 4 100% Java-Implementation Typ1Driver ODBC-Driver Typ 2 Driver C Implementation Typ 3 Driver MiddleWare Typ 4 Driver JDBC Objekte java.sql.drivermanager java.sql.connection java.sql.statement java.sql.preparedstatement java.sql.callablestatement java.sql.resultset MetaData java.sql.databasemetadata java.sql.resultsetmetadata java.sql.sqlexception

JDBC Datentypen Typen-Konvertierung durch Methoden: getxxx() getstring() getint() getblob() etc. Spezielle Datentypen für SQL-Äquivalente: java.sql.blob java.sql.struct java.sql.timestamp etc. JDBC URL s Beispiel jdbc:mysql://db.unibas.ch:3123/somedb?user=u&password =pw Im Detail Protokoll des JDBC Drivers Hostname:Port des Datenbanksystems Datenbank Optionen (User, Passwort, Verschlüsselung, etc.)

3-Schritt für Schritt Hello JDBC World JDBC-Driver laden Datenbankverbindung herstellen SQL-Abfrage Resultate darstellen Updates, Inserts, Deletes Prepared Statements JDBC Driver laden String jdbcdriver = "org.gjt.mm.mysql.driver"; try { Class.forName(jdbcDriver).newInstance(); catch (Exception e) { System.err.println("Unable to load driver."); e.printstacktrace();

Datenbank-Verbindung herstellen String jdbcurl = "jdbc:mysql://db.unibas.ch:8080/jdbc?user=jdbc&password=joe"; Connection con; try { con = DriverManager.getConnection(jdbcURL); catch (SQLException E) { System.err.println("Unable to Connect to Database: "+E.getMessage()); SQL Abfrage String sqlstring = SELECT HELLO, JDBC, -, WORLD "; Statement stm = con.createstatement(); ResultSet res = stm.executequery(sqlstring);

Resultate Abfragen while (res.next()) { System.out.println(res.getString(1) + res.getstring(2) + res.getstring(3) + res.getstring(4)); res.close(); stm.close(); HELLO JDBC - WORLD Updates, Inserts, Deletes String sqlstring = INSERT INTO people VALUES ( 'Hermann', 'Heinz' ) "; Statement stm = con.createstatement(); int n = stm.executeupdate(sqlstring); System.out.println( n + " rows affected")

Prepared Statements String sqlstring = UPDATE persons SET vorname = '?' WHERE id =? "; PreparedStatement ps = con.preparestatement(); for (ix = 0; ix <= 1000; ix++) { ps.setstring(1, "Heinz_"+ix); ps.setint(2, ix); int n = ps.executeupdate(); 4-JDBC Bücher und Links Bücher JDBC API Tutorial and Reference (Sun) Database Programming with JDBC and Java (George Reese / O Reilly Verlag) Links http://www.java.sun.com/products/jdbc/ http://developer.java.sun.com/developer/onlinetraining/database /JDBC20Intro/JDBC20.htm http://mmmysql.sourceforge.net (MySQL JDBC Driver) Literaturverzeichnis JDBC API Entwürfe von Sun: v1.0, v2.0, v2.1, v3.0 (Final Draft) JDBC Dokumentation von Sun google