JDBC -Java Database Connectivity-. 15./22. April 2004JDBC2 JDBC.... verbindet Java-Programme mit SQL-basierten Datenbanken.. liefert eine generische SQL-API.

Slides:



Advertisements
Ähnliche Präsentationen
SQL Injection – Funktionsweise und Gegenmaßnahmen
Advertisements

Object Relational Mapping
1 Kapitel 9: Datenbankapplikationen. 2 Datenbankapplikationen MS Access Embedded SQL JDBC Application JDBC Applet Java Servlet Java Server Pages Cold.
1 Datenbankapplikationen 9.1MS Visio 9.2MS Access 9.3Embedded SQL 9.4JDBC 9.5Cold Fusion 9.6PHP.
Datenbank-Zugriffsschnittstellen. © Prof. T. Kudraß, HTWK Leipzig Überblick Datenbankzugriff mit PHP Datenbankzugriff mit JDBC Datenbankzugriff mit PSP.
2. DB-API: Programmierschnittstellen zu Datenbanken
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Internet-Datenbanken
Allgemeine Technologien II
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
JDBC & ODMG Motivation - Beispielanwendung JDBC - DriverManager - Connection - Statement - ResultSet Anwendung ODMG - Objektmodell /ODL - OQL - Java-Binding.
Objektrelationales Mapping mit JPA Getting Started Jonas Bandi Simon Martinelli.
Anbindung an Anwendungen
Dr. Brigitte Mathiak WeST – Web Science & Technologies Kapitel 6 Anbindung an Anwendungen.
Internet-Datenbanken Grundlagen des WWW HTML HTTP Web-Anbindung von Datenbanken Servlets JSP JDBC XML Datenmodell Schemabeschreibungssprachen Anfragesprachen.
Java: Dynamische Datentypen
FH-Hof SQLJ Richard Göbel. FH-Hof SQLJ - Idee Erweiterung von Java um SQL Die Verwendung von SQL-Anweisungen innerhalb einer Programmiersprache wird vereinfacht.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
SQL als Abfragesprache
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Programmierung von Datenbank Anwendungen
Dynamische Webseiten mit PHP
Dynamische Webseiten Java servlets.
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Datenbankanwendungen mit Java und JDBC
Open Database Connectivity (ODBC). © Prof. T. Kudraß, HTWK Leipzig Open Database Connectivity (ODBC) Idee: – API für eine DBMS, das ein Call-Level-Interface.
Datenbank-Zugriffsschnittstellen am Beispiel von Oracle und PL/SQL.
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Publikation von XML-Daten mit XSQL Pages. © Prof. T. Kudraß, HTWK Leipzig Vorteile von XSQL Pages einfache Generierung von XML-Dokumenten auf der Basis.
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.
JDBC Konzepte Realisierung von Zugriffen
Transaction Script Software Component Technology for Distributed Applications.
Datenintegrität Referentielle Integrität create table
Aufgabe April 2004Übung Data Warehousing2 1: Accounts 'gruppe ' auf ' morawetz ' (IP: !) Oracle-Account gleichen Namens SQL*Plus:
JDBC EDV JDBC.
Datenbanken 10: Einfügen, Ändern, Löschen
Einführung MySQL mit PHP
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Cursor-Konzept u Zugriff auf Mengen von Ergebnistupeln u In SQLJ Iteratoren u Vergleichbar.
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Aufbau einer Verbindung zur Datenbank import java.net.URL; import java.sql.*; class JDBCExample.
2.2 Definition eines Datenbankschemas (SQL-DDL)
J2EE Conformance von JDBC Middleware und EJB Applikation Server Detlef KünzelSystemberater +49 (0)
JDBC: JAVA Database Connectivity
objekt-relationale Datenbanken
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Datenbankentwicklung IV-LK
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Wir bauen uns eine Webapplikation!
THEMA: JDBC/SQL Vortrag: Pascal Gbodogbe am
GOLF3000 Datenbankhandling. Einleitung Vorstellung Team Eckdaten des Projekts Technischer Hintergrund Datenbanksystem ERD Datenbankanbindung.
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
1 Softwareentwicklung mit.NET Teil 5 Datenzugriff mit ADO.NET Dr. Ralph Zeller.
JDBC (Java DataBase Connectivity)
Sprachschnittstellen von Datenbanksystemen
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Datenbankanbindung mit
Embedded SQL in Java Michael Stapf Berater Strategische Projekte
Structured Query Language
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #8 SQL (Teil 5)
Prolog: Datenbanken Inhalt - Überblick - Erstellen einer Datenbank
JDBC1 Motivation(I) JDBC keine Abkürzung, sondern geschützter Name (inoffiziell: für Java Database Connectivity) unterschiedliche DBS haben unterschiedliche.
JDBC – Datenzugriff aus Java
Datenbanken erstellen mit PostgreSQL
SQL Lutz KleinostendarpJOBELMANN-SCHULE Datendefinition Die Organisation einer Datenbank basiert auf einer Anzahl verschiedener Objekte. Diese können physikalischer.
© 2005, Rudolf Jansen JDBC Rudolf Jansen Freiberuflicher Entwickler und Autor DOAG - SIG Development.
Übung Datenbanksysteme I Embedded SQL, Stored Procedures, JDBC
JDBC Java DataBase Connectivity
 Präsentation transkript:

JDBC -Java Database Connectivity-

15./22. April 2004JDBC2 JDBC.... verbindet Java-Programme mit SQL-basierten Datenbanken.. liefert eine generische SQL-API für eine Vielzahl von DB-Systemen.. ist für Programmierer (fast) transparent.. findet sich im Package java.sql

15./22. April 2004JDBC3 Übersicht Verbindung zur DB: Interface Connection Anfragen formulieren: Statement Ergebnisse auswerten: ResultSet Metadaten über die DB

15./22. April 2004JDBC4 JDBC-Treiber zunächst wird ein DB-spezifischer JDBC-Treiber geladen DriverManager.registerDriver(new oracle.jdbc.OracleDriver()); DB-Systeme liefern i.d.R. passende JDBC-Treiber mit, wenige sind frei verfügbar

15./22. April 2004JDBC5 JDBC-Treiber Einbindung des Treibers auch zur Laufzeit möglich > java -Djdbc.drivers= oracle.jdbc.OracleDriver myClass für manche Systeme gibt es nur ODBC-Treiber, aber zum Glück auch die JDBC-ODBC-Bridge

15./22. April 2004JDBC6 Verbindung zur DB die eigentliche Verbindung stellt die Klasse DriverManager her: Connection con = DriverManager.getConnection(URL, username, password); URL = JDBC-Connect-String sämtliche Anfragen an die DB behandelt dann die Instanz des Interfaces Connection URL =

15./22. April 2004JDBC7 Statements sind gewöhnliche SQL-Statements, die JDBC an die DB weiterleitet erzeugt wird ein Statement über das Interface Connection Statement stmt = con.createStatement();

15./22. April 2004JDBC8 Beispiel - CREATE Ausführung von stmt.execute( "CREATE TABLE coworkers( c_id int, name varchar(25))" ); kein ' ; ' am Ende des Statements!

15./22. April 2004JDBC9 Beispiel - INSERT stmt.execute( "INSERT INTO coworkers VALUES (1, 'Herbert')" ); stmt.close();

15./22. April 2004JDBC10 Queries Ausführung von SELECT-Statements über Statement.executeQuery(), was ein Objekt des Interfaces ResultSet erzeugt ResultSet result = stmt.executeQuery( "SELECT c_id, name FROM coworkers ORDER BY c_id)" );

15./22. April 2004JDBC11 ResultSet zurückgelieferte Tupel nimmt eine Instanz von ResultSet auf die Ergebnisse werden tupelweise durchlaufen über die Methode result.next(); bereits das erste Tupel bedarf des Einstiegs mit result.next();

15./22. April 2004JDBC12 Zugriff auf ResultSet über die Methoden ResultSet.getXXX(" ") also getString(), getInt() stmt.executeQuery("SELECT c_id,name.. while(result.next()) { int c_id = result.getInt("c_id"); String name = result.getString("name");

15./22. April 2004JDBC13 Prepared Statements für mehrfache Abarbeitung und wenn die DB vorbereitete Anweisungen unterstützt anstelle von Statement PreparedStatement pstmt = con.prepareStatement( "INSERT INTO coworkers (c_id, name) VALUES (?, ?)" );

15./22. April 2004JDBC14 Prepared Statements {LOOP} // prepare tuples: // integer as 1st attribute: pstmt.setInt(1, anInt); // string as 2nd attribute: pstmt.setString(2, aString); // execute prepared statement pstmt.execute(); {POOL} pstmt.close();

15./22. April 2004JDBC15 getXXX-Methoden get -MethodeSQL-Typ getInt INTEGER getString CHAR, VARCHAR getLong BIG INT getFloat REAL getDouble FLOAT getBoolean BIT getDate, getTime DATE, TIME getInt INTEGER getObject jeder Typ

15./22. April 2004JDBC16

15./22. April 2004JDBC17 SQLExceptions "Geschlossene Anweisung" –Wo? Statement.execute() –Was? Es wird auf ein Instanz von Statement zugegriffen, die zuvor mit Statement.close() geschlossen wurde –Und jetzt? Erst später schließen oder neu instanziieren

15./22. April 2004JDBC18 SQL-Exceptions 2 "ORA-00001: Verstoß gegen Eindeutigkeit" –Wo? Statement.execute("INSERT.."); –Was? Einfügen bereits vorhandener Werte in eine als unique/primary key deklarierte Spalte –Und jetzt? Altes Tupel überschreiben oder anderer Wert...