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 MySQL 5.0 Community Edition é um Sistema de Gerenciamento de Bancos.

Apresentações semelhantes


Apresentação em tema: "Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 1 MySQL 5.0 Community Edition é um Sistema de Gerenciamento de Bancos."— Transcrição da apresentação:

1 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 1 MySQL 5.0 Community Edition é um Sistema de Gerenciamento de Bancos de Dados de código-fonte aberto que executa em muitas plataformas, incluindo Windows, Solaris, Linux e Macintosh; Mais informações em Para instalar o MySQL Community Edition: Requisitos: dev.mysql.com/doc/refman/5.0/en/installing- cs.html Download: dev.mysql.com/downloads/mysql/5.0.html Execute o instalador; Escolha Typical para Setup Type; Para configurar o servidor selecione Standard Configuration.

2 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 2 Para utilizar o MySQL com o JDBC, é preciso instalar o MySQL Connector/J driver JDBC que permite aos programas acessar bancos de dados MySQL via JDBC; Download a partir de: dev.mysql.com/downloads/connector/j/5.1.html Documentação: dev.mysql.com/doc/connector/j/en/connector-j.html. Diretório no qual descarregar o arquivo.jar do driver em questão: Jdk \ jre \ lib \ ext

3 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 3 Para que os exemplos executem corretamente, é preciso configurar uma conta de usuário que permita aos usuários criar, excluir e modificar um banco de dados; Abra um prompt de comando e inicie o servidor do bancos de dados executando o comando mysqld-nt.exe. Notar que esse comando não tem saída ele simplesmente inicia o servidor MySQL. Não feche essa janela isso encerra o servidor; Inicie o monitor MySQL para poder configurar uma conta de usuário, abrir outro prompt de comando e executar o comando mysql -h localhost -u root; A opção -h indica o host no qual o servidor MySQL está executando nesse caso o computador local ( localhost ); A opção -u indica a conta de usuário que será utilizada para fazer login no servidor root é a conta de usuário padrão criada durante a instalação para permitir que configure o servidor.

4 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 4 No prompt mysql>, digite USE mysql; para selecionar o banco de dados predefinido chamado mysql; Adicione a conta de usuário deitel ao banco de dados predefinido. Execute os seguintes comandos no prompt mysql> : create user identified by 'deitel;grant select, insert, update, delete, create, drop, references, execute on *.* to Isso cria o usuário deitel com os privilégios necessários para criar os bancos de dados utilizados neste capítulo e manipulá-los; Digite o comando exit; para terminar o monitor MySQL. Os passos anteriores podem ser executados através de uma ferramenta administrativa.

5 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 5 Para cada banco de dados MySQL discutido, é fornecido um script SQL em um arquivo.sql, que configura o banco de dados e suas tabelas. Pode-se executar esses scripts no monitor MySQL; Para executar o script books.sql : Abra um prompt de comando e use o comando para mudar os diretórios para o local que contenha o script books.sql ; Inicie o monitor MySQL digitando: mysql -h localhost -u deitel -p A opção -p solicita a senha para a conta de usuário deitel. Quando solicitado, insira a senha deitel ; Execute o script digitando source books.sql; Isso cria um novo diretório chamado books no diretório data do servidor Digite exit; para terminar o monitor MySQL monitor.

6 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 6 Nesta seção, apresentamos dois exemplos; O primeiro exemplo introduz como se conectar a um banco de dados e consultá-lo; O segundo exemplo demonstra como exibir o resultado da consulta em um componente JTable.

7 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 7 O programa a seguir ilustra a conexão com o banco de dados, consultando o banco de dados e processando o resultado.

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

12 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 12 O URL do banco de dados identifica o nome do banco de dados ao qual se conectar, bem como informações sobre o protocolo utilizado pelo driver JDBC; O JDBC 4.0 suporta a Descoberta de Driver Automática. Não é mais necessário carregar antes o driver de banco de dados. Para assegurar que o programa pode localizar a classe de driver, deve-se incluir a localização da classe no classpath do programa ao executá-lo; Inclua o arquivo mysql-connector-java bin.jar (no diretório C:\mysql-connector-java ) no classpath do programa, como em: java -classpath.;c:\mysql-connector-java-5.1.7\mysql- connector-java bin.jar DisplayAuthors

13 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 13 Um objeto que implementa a interface Connection gerencia a conexão entre o programa Java e o banco de dados; Os objetos Connection permitem que os programas criem instruções SQL que manipulam o banco de dados; O método DriverManager static getConnection() tenta se conectar ao banco de dados especificado pelo URL; Argumentos: uma String que especifica o URL do banco de dados; uma String que especifica o login do usuário; uma String que especifica a senha do usuário.

14 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 14 O URL jdbc:mysql://localhost/books especifica: O protocolo de comunicação ( jdbc ); O subprotocolo para comunicação ( mysql ); A localização do banco de dados ( //localhost/books, onde localhost é o host executando o servidor MySQL e books é o nome do banco de dados/schema); O subprotocolo mysql indica que o programa utiliza um subprotocolo específico ao MySQL para conectar-se ao banco de dados MySQL.

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

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 O método Connection createStatement() gera um objeto que implementa a interface Statement (pacote java.sql ). Usado para enviar instruções SQL para o banco de dados. O método executeQuery() do objeto Statement envia uma consulta para o banco de dados. Retorna um objeto que implementa a interface ResultSet (contém os resultados da consulta); Os métodos de ResultSet permitem que o programa manipule o resultado da consulta. O ResultSetMetaData de um ResultSet descreve o conteúdo do ResultSet. Pode ser usado programaticamente para obter informações sobre nomes de coluna e tipos do ResultSet. O método ResultSetMetaData getColumnCount() recupera o número de colunas no ResultSet.

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 A primeira chamada para o método ResultSet next() posiciona o cursor do ResultSet na primeira linha. Retorna o valor boolean true se for capaz de se posicionar na próxima linha; caso contrário, o método retorna false ; O método ResultSetMetaData getColumnType() retorna um inteiro constante da classe Types (pacote java.sql ) que indica o tipo de uma coluna especificada; O método ResultSet getInt() retorna um valor de coluna como um int ; O método ResultSet getObject() retorna um valor de coluna como um Object. Os métodos ResultSet get em geral recebem como um argumento um número de coluna (um int ) ou um nome de coluna (uma String ) indicando que o valor de qual coluna obter;

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

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

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

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

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

26 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 26 O exemplo das Figuras e permite ao usuário inserir qualquer consulta no programa; Exibe os resultados de uma consulta em uma JTable, usando um objeto TableModel para fornecer os dados ResultSet para o JTable ; JTable é um componente GUI Swing que pode ser vinculado a um banco de dados para exibir os resultados de uma consulta; A classe ResultSetTableModel realiza a conexão com o banco de dados via uma TableModel e mantém o ResultSet ;

27 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 27 A classe DisplayQueryResults cria a GUI e especifica uma instância da classe ResultSetTableModel para fornecer dados a JTable ; A classe ResultSetTableModel sobrescreve os métodos TableModel getColumnClass(), getColumnCount(), getColumnName(), getRowCount() e getValueAt() (herdado de AbstractTableModel ),

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

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

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

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 O método Connection createStatement() com dois argumentos recebe o tipo e a concorrência do ResultSet ; O tipo de conjunto de resultados especifica se o cursor do ResultSet é capaz de rolar em ambas as direções ou apenas encaminhar e se o ResultSet é sensível a alterações feitas nos dados subjacentes; ResultSets que são sensíveis a alterações refletem essas modificações imediatamente depois de elas serem feitas com os métodos da interface ResultSet ; Se um ResultSet não for sensível a alterações, a consulta que produziu o ResultSet deve ser novamente executada para refletir qualquer alteração feita; A concorrência do conjunto de resultados especifica se o ResultSet pode ser atualizado com os métodos de atualização do ResultSet.

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 O método ResultSetMetaData getColumnClassName() obtém o nome de classe completamente qualificado da coluna especificada; O método ResultSetMetaData getColumnCount() obtém o número de colunas no ResultSet ; O método ResultSetMetaData getColumnName() obtém o nome da coluna no ResultSet ; O método ResultSet ResultSet absolute() posiciona o cursor ResultSet em uma linha específica.

43 Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 43 O método ResultSet last() posiciona o cursor ResultSet na última linha no ResultSet ; O método ResultSet getRow() obtém o número da linha atual no ResultSet ; O método fireTableStructureChanged() (herdado da classe AbstractTableModel ) notifica qualquer JTable usando esse objeto ResultSetTableModel como seu modelo que a estrutura do modelo mudou. Faz com que a JTable preencha novamente suas linhas e colunas com os novos dados de ResultSet data.


Carregar ppt "Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 1 MySQL 5.0 Community Edition é um Sistema de Gerenciamento de Bancos."

Apresentações semelhantes


Anúncios Google