8.5 JDBC1 JDBC 8.5 Java Database Connectivity. 8.5 JDBC2 JDBC introduktion, 393 JDBC er ikke en forkortelse for –Java Database Connectivity Sun har defineret.

Slides:



Advertisements
Lignende præsentationer
Perspektiverende Datalogi Internetalgoritmer MapReduce Gerth Stølting Brodal.
Advertisements

SQL 1 DDL og DML.
Elmasri kap , Databaser Kvalitetsattributter og arkitektur Sikkerhed Transaktioner.
13 – Database med JDBC. 2 NOEA2009Java-kursus – JDBC JDBC JDBC er et standard bibliotek til at tilgå relational databaser API’et er en standardiseret.
Arkitektur Embedded SQL Tema Persistens
KONCEPT Klasser og objekter En klasse beskriver et World ArrayList
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
Hvordan man skriver koden.
VOOP, 8 april Refleksion i objekt orienterede programmeringssprog Mandag 8/ Kasper Østerbye.
Structs Structs allokeres på stakken Memory-allokering sker ved oprettelse af variabel og ikke ved new Der kan defineres metoder incl. Constructor. Eksempel.
NOEA/IT FEN - Databaser/Sikkerhed 1 Lektion 10 Sikkerhed og integritet Områder Autorisationsmatrix Realisering i SQL.
Indledende Programmering Uge 5 - Efterår 2006 Om at udvikle korrekte og pålidelige programmer Susanne Lindros.
XML1 4.7 XML and Its Data Model. XML2 Introduktion til XML, 178 XML = eXtensible Markup Language Markup language –sprog, hvor data "pakkes ind" i tags.
FEN IntroJava AAU1 Opsamling: afvikling af Java-programmer Input fra keyboard og fil Fra en prompt Fra BlueJ Fra NetBeans.
FEN IntroJava AAU1 Java grundelementer Variable og datatyper Sætninger og udtryk Metoder.
7. SQL constraints og triggers1 Aktive elementer i SQL.
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
8.7 Security: Grant and revoke1 Sikkerhed 8.7 Security and User Authorization in SQL.
Mønstre En lille introduktion. Singleton Tilgå et objekt igennem klassereference i stedet for objektreference.  Overflødiggør referencer til objektet.
1. Database-systemer, introduktion
GP 8, 24/ Grundlæggende programmering Efterår 2001 Forelæsning 8 onsdag 24/ kl. 9:15 – 12:00.
Objekter og klasser Rasmus D. Lehrmann DM
8.6 Transaktioner1 Transaktioner 8.6 Transactions in SQL.
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
FEN IntroJava AAU1 Klasser og objekter Grundbegreber Student-Course.
ADO.NET Databaser SQL Client (SQL server 7 og senere) OleDb (en række incl. jet) ODBC MySql (ekstra driver skal instaleres) Oracle (XML dataset) Samme.
Forelæsning 2.2 Tilstand og opførsel (repetition)
FEN IntroJava AAU1 Endnu mere om Klasser og Objekter Mange til mange relationer Student-Course v3.
Uge 14: distribuerede objekter, fjernprocedurekald, RMI Tirsdag: Introduktion Mulige fordele ved distribuerede objekter Introduktion til RMI: - Interfacets.
Databaser, introduktion1 Kurset ”Databaser” Introduktion.
Januar 2003Databaser, introduktion1 Databaser, forår 2003 Introduktion.
KF04 GRAY Item 2, 12, 22, 32, 42, 52. Consider a builder when faced with many constructor parameters Item 2.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
Hvad består en distribueret applikation af ? Processer der kører på hver deres maskine Tråde - 1 eller flere "letvægtsprocesser" per proces Objekter i.
Databaseadgang fra C#:
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
Repetition af dIntProg v/ Morten D. Bech. Tour de force Variabler Løkker Comparable ImErKo-reglen Eksamenssæt dIntProg, E13.
Database.
Identitet vs lighed. Spørgsmål Hvad udskriver run metoden? 1.”Ens!” 2.”Forskellige!” 3.Ved ikke public class Driver{ public static void run(){ String.
Paradigmer i Programmering 3. Højere ordens funktioner Idag: Højere ordens funktioner Algebraiske datatyper Næste gang: I/O, Filer, interaktive programmer.
Effective Java Blå gruppe. Item 18: Interfaces frem for abstrakte klasser Kan implementeres i klasser der ikke nedarver Eksisterende klasser kan nemt.
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
Variabler, klassevariabler, identitet og lighed, collections
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6B.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
Klasser og objekter. dIntProg, E08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
DAIMIIntroducerende objektorienteret programmering12A.1 Moduler Packages i Java.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
 Henrik B. Christensen, 1999Introducerende objektorienteret programmering8B.1 Interfaces En ren kontrakt.
 Jens Bennedsen, 2003Introducerende objektorienteret programmeringinterfaces.1 Interfaces En ren kontrakt.
DAIMIIntroducerende objektorienteret programmeringkd.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
Indledende Programmering Uge 6 - Efterår 2006
Polymorfi Abstrakte klasser, substitutionsprincippet, statisk og dynamisk type.
Objekt-relationel DBMS1 4.5 The Object-Relational Model 9.4 User-Defined Types in SQL 9.5 Operations on Object-Relational Data Ullman: Object-Relational.
Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter.
Interfaces – hvorfor, hvad og hvordan?.  Michael E. Caspersen 2003IOOPInterfaces.2 Oversigt Interfaces, hvorfor –Separering af specifikation (interface)
 Jens Bennedsen 2001Multimedie programmering10B.1 Interfaces En ren kontrakt.
 Jens Bennedsen 2001Multimedie programmering3B.1 Specifikationer Betingelser, specifikationer og JavaDoc.
 Jens Bennedsen 2001Multimedie programmering3A.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
Klasser og objekter. dIntProg, F08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge44 Java til Lingo Klasser, statements og lister.
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
DAIMIIntroducerende Objektorienteret Programmering8B.1 Interfaces En ren kontrakt.
I o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering5C.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
Containerklasser – klassifikation og brug.  Michael E. Caspersen, 2003IOOPContainerklasser.2 Mange objekter Containerklasser –antag at man skal repræsentere.
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
Solution Makers A/S – Gruppe 4 Lars Wolter Nils Martinsen Rasmus Seye Tobias Kjeldsen 1.
Query optimization MICHAEL I
Klasser og objekter (Afsnit i manualen).
MySQL dat2sem2018Fall Modul 2 – uge 2.
Præsentationens transcript:

8.5 JDBC1 JDBC 8.5 Java Database Connectivity

8.5 JDBC2 JDBC introduktion, 393 JDBC er ikke en forkortelse for –Java Database Connectivity Sun har defineret en række Java interfaces –pakken java.sql DBMS fabrikant (eller andre) implementerer interfaces i en såkaldt driver. JDBC med Oracle

8.5 JDBC3 Fremgangsmåde, 393 Load driver –Class.forName("oracle.jdbc.OracleDriver") eller –public static void registerDriver(Driver driver)Driver Lav en database URL –String url = db.ruc.dk:1521:datalogi" –kaldes også "connection string"

8.5 JDBC4 Connection, 394 Forbindelse til DBMS'en. interface java.sql.Connection –Fabrikation af Connection-objekt static metode i klassen DriverManager static Connection getConnection(String url, String user, String password)ConnectionString –Lukning af connection connection.close() –Det tager relativt lang tid at åbne en connection. –En DBMS kan håndtere et antal connections så husk at lukke connection, straks du er færdig med at bruge den - og uanset om du får exception eller ej! Eksempel –OracleTest.javaOracleTest.java

8.5 JDBC5 Statement, 394 Abstraktion over en SQL-sætning Interface java.sql.Statement –Fabrikation af Statement objekt Connection objekt har static metode –Statement createStatement()Statement –Udførelse af SQL-sætning select-sætning –ResultSet executeQuery(String sql)ResultSetString andre sætninger (insert, update, delete) –int executeUpdate(String sql)String –Eksempel: JdbcStatement.java

8.5 JDBC6 ResultSet, 396 Resultat af select-sætning Interface java.sql.ResultSet –Fabrikation af ResultSet objekt Statement objekt har static metode –ResultSet executeQuery(String sql)ResultSetString –Nogle metoder getXxx(String columnName) –kolonne-navne som i den anvendte tabel. –Xxx kan være mange forskellige typer getXxx(int columnIndex) –indeks starter med 1, ikke med 0!! next() –flytter "cursor" til næste række i ResultSet-objekt Eksempel: ShowResultSet.java

8.5 JDBC7 PreparedStatement, 396 En performance-optimering af statement –til gentagen eksekvering af [næsten] samme SQL-sætning. –DBMS checker (syntaks + semantik) sætningen én gang - og udfører den mange gange. Prepared statements kan have parametre –SQL-sætninger med "huller"

8.5 JDBC8 PreparedStatement II, 396 Interface java.sql.PreparedStatement –extends Statement –Fabrikation af PreparedStatement objekt Connection objekt har static metode –PreparedStatement prepareStatement(String sql)PreparedStatementString –pst = conn.prepareStatement("select * from employee where employeeID = ?"); –Binding af parametre pst.setXxx(int parameterIndex, Xxx value) pst.setInt(1, 453); –Eksekvering ResultSet executeQuery()ResultSet Eksempel JdbcPreparedStatement.java

8.5 JDBC9 SQLException JDBC checker ikke syntaks og semantik af diverse SQL-sætninger. DBMS checker syntaks og semantik og sender fejlmelding til JDBC JDBC pakker fejlmelding ind som en SQLException, som Java-programmet modtager.

8.5 JDBC10 Factory pattern Pakken java.sql er fyldt med interfaces 1 konkret klasse, DriverManager, med udelukkende static metoder. DriverManager fabrikerer Connection- objekt Connection-objekt fabrikerer Statement- objekt Connection-objekt fabrikerer ResultSet- objekt