jdbc java database connectivity n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
JDBC: JAVA Database Connectivity PowerPoint Presentation
Download Presentation
JDBC: JAVA Database Connectivity

Loading in 2 Seconds...

play fullscreen
1 / 22

JDBC: JAVA Database Connectivity - PowerPoint PPT Presentation


  • 98 Views
  • Uploaded on

JDBC: JAVA Database Connectivity. Autor: Martin Hulin, überarbeitete Folien von Michael Austermann. Gliederung. Einleitung JDBC Klassen/Schnittstellen - Übersicht Treiber in JDBC Theoretische Grundlagen Arbeiten mit JDBC JDBC Standard Extension API Aufgabe. Was ist JDBC?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'JDBC: JAVA Database Connectivity' - joshua-hernandez


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
jdbc java database connectivity

JDBC: JAVA Database Connectivity

Autor: Martin Hulin, überarbeitete Folien von Michael Austermann

gliederung
Gliederung
  • Einleitung
  • JDBC Klassen/Schnittstellen - Übersicht
  • Treiber in JDBC
  • Theoretische Grundlagen
  • Arbeiten mit JDBC
  • JDBC Standard Extension API
  • Aufgabe
was ist jdbc
Was ist JDBC?
  • API für Datenbankzugriff
  • Speziell für die Programmiersprache JAVA
  • Wie ODBC
    • Call Level Interface (CLI)
    • Basiert auf X/Open-Standard
    • Unabhängig vom DBMS
    • Treiber DBMS-spezifisch
  • Unterschiede zu ODBC
    • Methoden statt Funktionen
    • Objekte statt Handle
jdbc funktionsweise
JDBC-Funktionsweise
  • JDBC spezifiziert nur Schnittstellen
  • Implementation durch DBMS-Hersteller: Treiber
  • Es gibt 4 Treibertypen
  • Typ 3 und 4 sind vorzuziehen:pure JAVA
  • Treibermanager lädt Treiber
  • Treiber stellt Verbindung zur Datenbank her
programm mit jdbc typischer ablauf
Programm mit JDBC: Typischer Ablauf
  • JDBC Treiber laden
  • Verbindung zur Datenbank aufbauen
  • Eigenschaften der Verbindung spezifizieren
  • SQL-Abfrage ausführen:Result-Set erzeugen
  • Result-Set durchlaufen:Aktionen ausführen
  • Verbindung zur Datenbank beenden
programm mit jdbc typischer ablauf als programmcode
Programm mit JDBC: Typischer Ablauf als Programmcode

// Treiber ladenClass.forName("packageName.YourDriver");

// Verbindung zum DBMS aufbauenConnection con = DriverManager.getConnection("yourURL", "user", "pwd");

// Statement erzeugenStatement stmt = con.createStatement("SELECT * FROM yourTable");

// Statement ausführenResultSet rs = stmt.executeQuery();

// Ergebnismenge bearbeitenwhile (rs.next()) { // Cursor eins vor System.out.println(rs.getInt("emp_id") + rs.getString(2));}

// Aufräumarbeitenrs.close(); // Ergebnismenge schließenstmt.close(); // Statement schließencon.close(); // Verbindung zum DBMS schließen

die jdbc klassen connection databasemetadata
Die JDBC-Klassen:Connection, DatabaseMetaData
  • Ein Objekt vom Typ Connection repräsentiert eine physikalische Verbindung zum DBMS
  • Connection steuert Transaktionen mit DBMS
  • Objekte vom Typ DatabaseMetaData enthalten Informationen über Struktur der Datenbank: Tabellen, Attribute, Domänen, Stored Procedures
  • Datenbank-Metadaten sind von DBMS zu DBMS unterschiedlich organisiert.
    • Hier zahlt sich die standardisierte Schnittstelle JDBC aus
statements 1
Statements (1)
  • Statements sind die Arbeitspferde in JDBC
  • Mit ihnen werden Daten manipuliert und gesichtet
  • Es gibt 3 Typen mit verschiedenen Aufgaben
    • Statement
      • Zur Datenmanipulation und zum Erzeugen von ResultSets.
    • PreparedStatement
      • Precompiled Statement PreparedStatement pstmt = connnection.prepareSatement( "INSERT INTO emp VALUES (?,?,?,?,?);");
    • CallableStatement
      • zum Ausführen von Stored Procedures
statements 2
Statements (2)
  • Statement kann nicht mit new erzeugt werden.
  • Es wird bei einem Connection Objekt angefordert
  • Dadurch bleibt der Bezug zur Connection bestehen
  • Beispiel: Statement stmt = connection.createStatement()
resultset 1
ResultSet (1)
  • ResultSets enthalten die Ergebnis-Menge eines ausgeführten Statements
  • Wird von einem Statement erzeugt
  • Beispiel: ResultSet rs = stmt.executeQuery( "SELECT * FROM employee;")
  • Jedes RS hat einen Cursor der auf die aktuelle Zeile der Ergebnismenge zeigt.
resultset 2
ResultSet (2)
  • Verschiedene ResultSet-Typen (je nach Treiber und Anforderung durch Applikation)
    • Forward only
    • Scroll-insensitive
    • Scroll-sensitive
    • updateable, usw
  • Zugriff auf Spaltenwerte mit
    • getXXXX (Spaltenname) oder
    • getXXXX(Spaltennummer)
    • XXXX steht für den Datentyp
batch update
Batch-Update
  • Standard: Neues Statement-Objekt für jede Datenmanipulation (insert, update, delete)
  • Schneller: Mehrere Aufträge sammeln, dann gemeinsam ausführen: Batch-Update
  • Beispiel
    • stmt.addBatch ("insert ...")stmt.addBatch ("insert ...")...
    • Int [] UpdateCounts = stmt.executeBatch ()
erweiterungen jdbc standard extension api
Erweiterungen:JDBC Standard Extension API
  • Kern von JDBC soll einfach und klein sein
    • Standard-Erweiterungen für JDBC werden in die Standard Extension API ausgelagert.
  • 3 wichtige Standard-Erweiterungen für JDBC
    • Java Naming and Directory Interface
      • Verwendung von Datenquellen: DataSource
    • Connection Pooling
      • Wiederverwendung von Verbindungen spart Zeit
    • Distributed Transactions
      • Transaktionsmanagement bei mehreren Datenbanken
verteilte transaktionen
Verteilte Transaktionen
  • Alle Connections tragen sich über einen RM beim TM ein.
  • Aktionen auf verschiedenen DBS werden vom TM zu einer Transaktion zusammengefaßt.
  • Dadurch wird dem Anwendungsentwickler das Transaktions-management auf verteilten Systemen vereinfacht.
aufgabe beim autoverleih
Aufgabe beim Autoverleih
  • JAVA Applikation oder
  • JAVA Servelet
  • mit JDBC für
  • Reservierungsübersicht eines Kunden
  • Löschen einer Reservierung
  • Zusatz (evtl.): Reservierung in Ausleihe umwandeln