Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

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.

Lignende præsentationer


Præsentationer af emnet: "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."— Præsentationens transcript:

1 8.5 JDBC1 JDBC 8.5 Java Database Connectivity

2 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

3 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 = "jdbc:oracle:thin:@dat- db.ruc.dk:1521:datalogi" –kaldes også "connection string"

4 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

5 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

6 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

7 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 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

9 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.

10 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


Download ppt "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."

Lignende præsentationer


Annoncer fra Google