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

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

28.5 Instruções para instalar o MySQL e o MySQL Conector/J

Apresentações semelhantes


Apresentação em tema: "28.5 Instruções para instalar o MySQL e o MySQL Conector/J"— Transcrição da apresentação:

1 28.5 Instruções para instalar o MySQL e o MySQL Conector/J
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 Documentação: dev.mysql.com/doc/connector/j/en/connector-j.html.
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 28.6 Instruções para configuração de uma conta de usuário MySQL
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 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 28.7 Criando banco de dados books no MySQL
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 28.8 Manipulando bancos de dados com o JDBC
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 28.8.1 Consultando e conectando-se a um banco de dados
O programa a seguir ilustra a conexão com o banco de dados, consultando o banco de dados e processando o resultado.

8

9

10

11

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-5.1.7) no classpath do programa, como em: java -classpath ;c:\mysql-connector-java-5.1.7\mysql- connector-java bin.jar DisplayAuthors

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

16

17 O ResultSetMetaData de um ResultSet descreve o conteúdo do ResultSet.
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

19 O método ResultSet getInt() retorna um valor de coluna como um int;
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

21

22

23

24

25

26 28.9.2 Consultando o banco de dados books (outro exemplo)
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 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 Coluna/linha 0 de JTable é a coluna/linha 1 de ResultSet;
É necessária a alteração dos vários métodos indicados devido a diferença de inicialização de linhas e colunas (ResultSet e JTable). Também tem o próprio tratamento de BD; E principalmente, o fato da ancestral ser abstrata. - Funcionamento: BD – ResultSet – TableModel – JTable (GUI)

29 Sobre o método createStatement():
- Indica se o resultSet pode rolar em ambas as direções e se são sensíveis a alterações feitas na consulta (isto é, se precisa ou não fazer uma nova consulta para refletir alguma alteração). O 1º. Parâmetro fornece o tipo de conjunto de resultados; O 2º. Parâmetro fornece a concorrência do conjunto de resultados (indicando se o resultSet pode ser atualizado).

30 Método necessário ao JTable para renderizar e editar a célula.
Notar que se ocorrem problemas o método retorna o tipo Objeto, superclasse de qualquer outro tipo por referência.

31

32

33 O método absolute() posiciona o cursor do resultSet na linha especificada como argumento

34

35 O método fireTableStructureChanged() notifica qualquer JTable que utiliza esse objeto ResultSetTableModel como seu modelo que a estrutura do modelo mudou, o que faz com que a JTable preencha novamente suas linhas e colunas com os novos dados do ResultSet.

36

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

39

40

41

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 ResultSetResultSet absolute() posiciona o cursor ResultSet em uma linha específica.

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 "28.5 Instruções para instalar o MySQL e o MySQL Conector/J"

Apresentações semelhantes


Anúncios Google