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

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

setWrapStyleWord() configura o estilo de quebra de linha setLineWrap(true) indica mudança automática de linha A linha 68 registra o objeto resultTable.

Apresentações semelhantes


Apresentação em tema: "setWrapStyleWord() configura o estilo de quebra de linha setLineWrap(true) indica mudança automática de linha A linha 68 registra o objeto resultTable."— Transcrição da apresentação:

1

2

3 setWrapStyleWord() configura o estilo de quebra de linha
setLineWrap(true) indica mudança automática de linha A linha 68 registra o objeto resultTable como um ouvinte para TableModelEvents gerados pelo objeto tableModel

4

5

6

7

8

9

10

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 JTables 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 28.9   Interface RowSet 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. O código fica mais centralizado em um único local, que implementa a interface RowSet

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

17

18

19

20

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 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 28.10  Java DB/Apache Derby 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 PreparedStatements. 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 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 Instruções para Windows:
Abra o arquivo em lote setEmbeddedCP.bat (localizado em C:\Program Files\Sun\JavaDB\bin), localize a linha @rem set DERBY_INSTALL= e mude-a para @set 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 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 28.11  PreparedStatements 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 Statements. Os programas podem executar a mesma consulta repetidamente com valores de parâmetro diferentes.

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

31

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

34

35

36

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

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66 28.12 Procedures armazenadas
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, CallableStatements 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 CallableStatements, visite java.sun.com/javase/6/docs/technotes/guides/jdbc/get start/ callablestatement.html#999652

67

68

69 28.13 Processamento de transações
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 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 "setWrapStyleWord() configura o estilo de quebra de linha setLineWrap(true) indica mudança automática de linha A linha 68 registra o objeto resultTable."

Apresentações semelhantes


Anúncios Google