A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 1.

Apresentações semelhantes


Apresentação em tema: "Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 1."— Transcrição da apresentação:

1 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 1

2 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 2

3 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 3

4 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 4

5 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 5

6 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 6

7 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 7

8 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 8

9 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 9

10 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 10

11 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 11 Qualquer variável local que for utilizada em uma classe interna anônima deve ser declarada final, caso contrário, ocorre um erro de compilação; A classe TableRowSorter (do pacote javax.swing.table ) pode ser usada para classificar linhas em uma JTable ; Quando o usuário clicar no título de determinada coluna JTable, o TableRowSorter interage com o TableModel subjacente para reordenar as linhas com base nos dados dessa coluna; O método JTable setRowSorter() especifica o TableRowSorter para JTable.

12 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 12 JTable s podem mostrar agora subconjuntos dos dados do TableModel subjacente. Isso é conhecido como filtragem de dados; O método JTable setRowFilter() especifica um RowFilter (do pacote javax.swing ) para um Jtable ; O método RowFilter static regexFilter() recebe uma String contendo um padrão de expressão regular como seu argumento e um conjunto opcional de índices que especifica quais colunas filtrar. Se nenhum índice for especificado, então todas as colunas são pesquisadas.

13 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 13 A interface RowSet fornece vários métodos set que permite especificar as propriedades necessárias para estabelecer uma conexão e criar um Statement ; RowSet também fornece vários métodos get que retornam essas propriedades; Tipos de objetos RowSet : conectado e desconectado; Um objeto RowSet conectado conecta-se ao banco de dados uma vez e permanece conectado enquanto o objeto estiver em uso; Um objeto RowSet desconectado conecta-se ao banco de dados, executa uma consulta para recuperar os dados do banco de dados e depois fecha a conexão.

14 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 14 Um programa pode alterar os dados em um RowSet desconectado enquanto ele estiver desconectado. Dados modificados podem ser atualizados no banco de dados depois que um RowSet desconectado restabelecer a conexão com o banco de dados.

15 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 15 O pacote javax.sql.rowset contém duas subinterfaces de RowSet JdbcRowSet e CachedRowSet ; JdbcRowSet, um RowSet conectado, atua como um empacotador em torno de um objeto ResultSet e permite aos programadores percorrer e atualizar as linhas no ResultSet ; Um objeto JdbcRowSet é rolável e atualizável por padrão; CachedRowSet, um RowSet desconectado, armazena os dados em cache de um ResultSet na memória e desconecta-se do banco de dados. Um objeto CachedRowSet é rolável e atualizável por padrão. Também é serializável, então ele pode ser passado entre aplicativos Java por uma rede, como a Internet.

16 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 16

17 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 17

18 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 18

19 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 19

20 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 20

21 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 21 O pacote com.sun.rowset fornece implementações de referência da Sun para as interfaces no pacote javax.sql.rowset ; A implementação de referência da Sun da interface JdbcRowSet é JdbcRowSetImpl ; Alguns bancos de dados podem fornecer suas próprias implementações de RowSet ; O método JdbcRowSet setUrl() especifica o URL do BD; O método JdbcRowSet setUsername() especifica o nome de usuário; O método JdbcRowSet setPassword() especifica a senha; O método Jdbc-RowSet setCommand() especifica a consulta SQL que será usada para preeencher o RowSet.

22 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 22 O método JdbcRowSet execute() executa a consulta SQL; O método execute() realiza quatro ações: Estabelece uma Connection com o banco de dados; Prepara a consulta Statement; Executa a consulta; Armazena o ResultSet retornado pela consulta; As consultas Connection, Statement e ResultSet são encapsuladas no objeto JdbcRowSet ; O método JdbcRowSet close() fecha as consultas ResultSet, Statement e Connection do RowSet encapsulado.

23 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 23 No JDK 6, o banco de dados puro Java de código-fonte aberto Java DB (a versão com a marca Sun do Apache Derby) vem com o JDK. Usamos o Java DB para demonstrar PreparedStatement s. Antes de poder executar o aplicativo na próxima seção, você deve configurar o banco de dados AddressBook no Java DB. Utilizamos a versão integrada do Java DB. Há também uma versão de rede que executa de modo semelhante ao DBMS MySQL introduzido anteriormente no capítulo. Visite developers.sun.com/javadb/reference/docs/ e leia Getting Started with Java DB para obter instruções de instalação e configuração.

24 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 24 O Java DB vem com vários arquivos em lote para configurá-lo e executá-lo. Deve configurar a variável de ambiente JAVA_HOME para consultar primeiro diretório de instalação do JDK.

25 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 25 Instruções para Windows: Abra o arquivo em lote setEmbeddedCP.bat (localizado em C:\Program Files\Sun\JavaDB\bin ), localize a set DERBY_INSTALL= e mude-a DERBY_INSTALL=C:\Program Files\Sun\JavaDB Abra um prompt de comando e use o comando para mudar os diretórios para C:\Program Files\Sun\JavaDB\bin. Então, digite setEmbeddedCP.bat e pressione Enter para configurar as variáveis de ambiente requeridas pelo Java DB. Mude para o diretório que contém o código desse exemplo. Esse diretório contém um script SQL address.sql que constrói o banco de dados AddressBook. Execute o comando "C:\Program Files\Sun\JavaDB\bin\ij" para iniciar a ferramenta de linha de comando para interagir com o Java DB.

26 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 26 No prompt ij>, digite connect 'jdbc:derby:AddressBook;create=true;user=deitel;pass word=deitel'; para criar o banco de dados AddressBook no diretório atual. Esse comando também cria o usuário deitel com a senha deitel para acessar o banco de dados. Para criar a tabela de banco de dados e inserir dados de exemplo no banco de dados, digite run 'address.sql' Para terminar a ferramenta de linha de comando Java DB, digite exit;

27 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 27 A interface PreparedStatement permite criar instruções SQL compiladas que executam mais eficientemente do que os objetos Statement. Pode também especificar parâmetros, tornando-os mais flexíveis do que as Statement s. Os programas podem executar a mesma consulta repetidamente com valores de parâmetro diferentes.

28 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 28 Para localizar todos os títulos de livro de um autor com um sobrenome e um nome específicos: PreparedStatement authorBooks = connection.prepareStatement( "SELECT LastName, FirstName, Title " + "FROM Authors INNER JOIN AuthorISBN " + "ON Authors.AuthorID=AuthorISBN.AuthorID " + "INNER JOIN Titles " + "ON AuthorISBN.ISBN=Titles.ISBN " + "WHERE LastName = ? AND FirstName = ?" ); Os dois pontos de interrogação ( ? ) são um espaço reservado para valores que serão passados como parte da consulta ao banco de dados.

29 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 29 Antes de executar uma PreparedStatement, o programa deve especificar os valores de parâmetro utilizando os métodos set da interface PreparedStatement. Para a consulta anterior, ambos os parâmetros são strings que podem ser configuradas com o método PreparedStatement setString como mostrado a seguir: authorBooks.setString( 1, "Deitel" ); authorBooks.setString( 2, "Paul" ); Os números de parâmetro são contados a partir de 1, iniciando com o primeiro ponto de interrogação ( ? ). A interface PreparedStatement fornece métodos set para cada tipo SQL suportado.

30 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 30

31 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 31

32 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 32 Nosso banco de dados Java DB AddressBook contém uma tabela Addresses com as colunas addressID, FirstName, LastName, e PhoneNumber. A coluna addressID é a chamada coluna de identidade. Essa é a maneira padrão SQL para representar uma coluna autoincrementada. O script SQL que fornecemos para esse banco de dados utiliza a palavra-chave IDENTITY de SQL para marcar a coluna addressID como uma coluna de identidade.

33 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 33

34 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 34

35 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 35

36 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 36

37 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 37 Invoque o método Connection prepareStatement para criar uma PreparedStatement. Chamar o método PreparedStatement executeQuery retorna um ResultSet contendo as linhas que correspondem à consulta. O método PreparedStatement executeUpdate executa a instrução SQL que modifica o banco de dados.

38 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 38

39 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 39

40 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 40

41 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 41

42 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 42

43 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 43

44 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 44

45 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 45

46 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 46

47 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 47

48 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 48

49 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 49

50 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 50

51 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 51

52 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 52

53 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 53

54 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 54

55 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 55

56 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 56

57 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 57

58 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 58

59 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 59

60 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 60

61 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 61

62 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 62

63 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 63

64 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 64

65 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 65

66 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 66 Muitos sistemas de gerenciamento de bancos de dados podem armazenar instruções de SQL individuais ou conjuntos de instruções de SQL em um banco de dados, de modo que os programas que acessam esse banco de dados possam invocá-las. Tais coleções identificadas de instruções SQL são chamadas de procedures armazenadas. O JDBC permite aos programas invocar procedures armazenadas usando objetos que implementam a interface CallableStatement. Além disso, CallableStatement s podem especificar parâmetros de saída em que uma procedure armazenada pode colocar valores de retorno. A interface também inclui métodos para obter os valores de parâmetros de saída retornados de uma procedure armazenada. Para aprender mais sobre CallableStatement s, visite java.sun.com/javase/6/docs/technotes/guides/jdbc/get start/ callablestatement.html#999652

67 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 67

68 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 68

69 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 69 Muitos aplicativos do banco de dados impõem garantias de que uma série de inserções, atualizações e exclusões no banco de dados executem corretamente antes de os aplicativos continuarem o processamento da próxima operação de banco de dados. O processamento de transação permite que um programa que interage com um banco de dados trate uma operação de banco de dados (ou conjunto de operações) como uma operação única. Essa operação também é conhecida como operação atômica ou transação. No fim de uma transação, pode-se tomar a decisão de confirmar a transação ou reverter a transação. Confirmar a transação finaliza a(s) operação(ões) de banco de dados. A reversão da transação deixa o banco de dados no seu estado anterior à operação de banco de dados.

70 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 70 O método Connection setAutoCommit especifica se cada instrução SQL é confirmada depois de ser completada (um argumento true ) ou se várias instruções SQL devem ser agrupadas como uma transação (um argumento false ). Se o argumento para setAutoCommit for false, o programa deve seguir a última instrução SQL na transação com uma chamada para o método Connection commit ou método Connection rollback. A interface Connection também fornece o método getAutoCommit para determinar o estado autocommit para Connection.


Carregar ppt "Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 1."

Apresentações semelhantes


Anúncios Google