Presentation is loading. Please wait.

Presentation is loading. Please wait.

Java Database Conectivity Julio M. Faerman. Arquitetura Java Database Connectivity # 2 AplicaçãoJDBC API Driver Manager JDBC Driver SGBDR AplicaçãoJDBC.

Similar presentations


Presentation on theme: "Java Database Conectivity Julio M. Faerman. Arquitetura Java Database Connectivity # 2 AplicaçãoJDBC API Driver Manager JDBC Driver SGBDR AplicaçãoJDBC."— Presentation transcript:

1 Java Database Conectivity Julio M. Faerman

2 Arquitetura Java Database Connectivity # 2 AplicaçãoJDBC API Driver Manager JDBC Driver SGBDR AplicaçãoJDBC API Driver Manager Ponte JDBC-ODBC Driver ODBCSGBDR

3 Classes e dependências Java Database Connectivity # 3

4 JDBC API 1.Class.forName("org.apache.derby.jdbc.ClientDriver"); 2.Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527 /maindb","root","masterkey"); 3.Statement stmt = conn.createStatement(); 4.stmt.executeUpdate("INSERT INTO FILME …."); 5.ResultSet rs = stmt.executeQuery("SELECT * FROM FILME"); 6.while(rs.next()){ System.out.println(rs.getString("TITULOORIGINAL"));} 7.conn.close(); Java Database Connectivity # 4

5 Statements Satement –execute –executeQuery –executeUpdate –executeBatch PreparedStatement –setString, setInt, setDouble, setDate,… Java Database Connectivity # 5

6 Transações TX 1 SELECT INSERT UPDAT E DELETE TX 2 UPDAT E DELETE INSERT TX 3 SELECT DELETE INSERT UPDAT E Java Database Connectivity # 6

7 Transações A tômicas C onsistentes I soladas I soladas D uráveis Java Database Connectivity # 7

8 API Connection –setAutoCommit(boolean autoCommit) –commit() –Rollback() –setTransactionIsolation(int level) Java Database Connectivity # 8

9 Anomalias em Transações Dirty Reads (Leitura Suja) –A(UPDATE) B(SELECT) Non-repeatable reads (Leitura não repetível) –A(SELECT) B(UPDATE) A(SELECT) Phantom reads (Leitura fantasma) –A(SELECT) B(INSERT) Java Database Connectivity # 9

10 Anomalias por nível de isolamento Nível de isolamentoDirtyNon RepeatablePhantom NONESIM READ_UNCOMMITTEDSIM READ_COMMITTEDNÃOSIM REPEATABLE_READNÃO DEPENDE SERIALIZABLENÃO Java Database Connectivity # 10 MCNH: Específico por banco Considere o locking MCNH: Específico por banco Considere o locking

11 Transações Distribuidas Java Database Connectivity # 11 Server 1 Server 2 Server 3 DB 1 DB 2 MQ TX Manager (2PC/XA,3P C) TX Manager (2PC/XA,3P C)

12 Connection Pooling Java Database Connectivity # 12 DB DataSourc e

13 JDBC: Outras Funcionalidades Stored Procedures Metadata Savepoints RowId Java Database Connectivity # 13

14 Exercício: CRUD via JDBC Java Database Connectivity # 14

15 Exercício: Multiplos DBs ou armazenamentos SQL Dialects –Geração de chaves –TOP / LIMIT –Oracle Connect By –… SGBD(R,PR,OO,XML…) E Arquivos Java Database Connectivity # 15 Cuidados com operadores condicionais Herança e do polimorfismo podem ajudar Separe responsabilidades

16 Data Access Object Java Database Connectivity # 16

17 DAO + Abstract Factory Java Database Connectivity # 17

18 Abstract Factory Desenvolvimento web com Java # 18

19 Java Database Connectivity # 19 Dúvidas ?


Download ppt "Java Database Conectivity Julio M. Faerman. Arquitetura Java Database Connectivity # 2 AplicaçãoJDBC API Driver Manager JDBC Driver SGBDR AplicaçãoJDBC."

Similar presentations


Ads by Google