Anda di halaman 1dari 8

PROGRAMAO AVANADA Material de apoio - Parte VI (29/03 a 02/04/2010) - Prof Sidney Leal CRIAO E CONEXO DO BANCO DE DADOS Aprender

a desenvolver aplicativos de bancos de dados com Java depende no apenas da explorao e entendimento das classes e interfaces que compem a JDBC, mas tambm da implementao de uma srie de elementos, fundamentais para a compreenso dos procedimentos prticos a serem adotados. O banco de dados a ser criado, chamado banco, bastante simples e conter duas tabelas: Produto e Cliente. A tabela Produto servir para armazenar a identificao, a descrio, o preo e a quantidade estocada de diferentes produtos e ser composta pelos campos CODIGO, DESCRICAO, PRECO E QUANTIDADE ESTOQUE.
Nome CODIGO DESCRICAO PRECO QUANTIDADE ESTOQUE Tipo Tamanho Nmero inteiro Texto 100 Moeda Nmero inteiro Estrutura da tabela Produto Chave primria Sim No No No

A tabela Cliente representar pessoas fsicas e servir para armazenar a identificao numrica, o cpf, o nome completo, o endereo e o email dessas pessoas. Seus campos so CODIGO, CPF, NOME, ENDERECO e EMAIL.
Nome CODIGO CPF NOME ENDERECO EMAIL Tipo Tamanho Nmero inteiro Nmero inteiro longo Texto 50 Texto 100 Texto 50 Estrutura da tabela Cliente Chave primria Sim No No No No

Agora, necessrio escolher um SGDBR (Sistema Gerenciador de Banco de Dados) para criar um banco de dados contendo essas tabelas. Um SGDBR bastante acessvel o MySql. O MySQL um software freeware (grtis) e pode ser baixado de diversos sites, mas o site oficial http://www.mysql.org/. Neste site possvel encontrar tudo a respeito desse SGDBR, inclusive como instal-lo. O MySQL executa em vrias plataformas, incluindo Windows, Solaris, Linux e Macintosh. Para utilizar o MySQL com o JDBC, necessrio instalar o MySQL Connector/J um driver JDBC que permite aos programas acessar bancos de dados MySQL via JDBC. O download do MySQL Connector/J pode ser feito a partir de www.mysql.com/products/connector/j/ . Para instalar: 1. Copiar mysql-connector-java-(verso)-production.zip no disco rgido; 2. Abrir mysql-connector-java-(verso)-production.zip com um extrator de arquivo, como WinZip, cujo download pode ser feito de www.winzip.com; 1

PROGRAMAO AVANADA Material de apoio - Parte VI (29/03 a 02/04/2010) - Prof Sidney Leal 3. Extrair o contedo do arquivo zipado para a unidade c:\. Isso criar um diretrio chamado mysql-connector-java-(verso)-production. A documentao do MySQL Connector/J est em connector-j-en.pdf no subdiretrio docs. 4. O arquivo mysql-connector-java-(verso)-producton-bin.jar precisa ser copiado para o diretrio lib\ext do jre.

Mysql (algumas vezes apresentado como o terminal monitor ou apenas monitor) um programa interativo que permite conectar a um servidor MySQL, executar consultas e visualizar os resultados. Mysql pode tambm ser executado em modo batch: coloca-se consultas em um arquivo, depois diz ao mysql para executar o contedo do arquivo. Para acessar o monitor necessrio entrar no prompt de comando (Windows) e escrever a palavra chave mysql (no caso em que no foi configurado um usurio e senha).

Aps clicar em Enter, o servidor MySQL estar disponvel para acesso.

PROGRAMAO AVANADA Material de apoio - Parte VI (29/03 a 02/04/2010) - Prof Sidney Leal

Se um usurio e senha foi configurado durante a instalao do MySql, a linha de comando a seguir dever ser digitada no prompt de comando: mysql -h servidor -u usuario -p Aps clicar em Enter, ser solicitada uma senha:
Enter password: ********

Para criar o banco banco dever ser digitada a seguinte linha de comando:
CREATE DATABASE banco;

Para mostrar a lista de bancos existentes dever ser digitada a seguinte linha de comando:
show databases;

PROGRAMAO AVANADA Material de apoio - Parte VI (29/03 a 02/04/2010) - Prof Sidney Leal O prximo passo criar as tabelas produto e cliente, cada uma com seus campos, como definidos acima. Para isso ser necessrio escrever as linhas de comando abaixo. Para abrir e disponibilizar o banco de dados banco:
USE banco

Para criar a tabela produto:


CREATE TABLE produto (codigo INT(4) primary key, descricao VARCHAR(100), preco FLOAT(4), quantidade_estoque INT(4));

Para criar a tabela cliente:


CREATE TABLE cliente (codigo INT(4) primary key, cpf INT(11), nome VARCHAR(50), endereco VARCHAR(100), email VARCHAR(50));

Para abrir visualizar as tabelas inseridas, utilize o comando:


show tables;

Para verificar a estrutura de cada tabela, os comandos esto listados abaixo:


describe produto; e describe cliente;

PROGRAMAO AVANADA Material de apoio - Parte VI (29/03 a 02/04/2010) - Prof Sidney Leal Agora s utilizar os comandos SQL para efetuar as tarefas de atualizao (incluso, alterao e excluso) e consulta. REGISTRO DO DRIVER E ABERTURA DA CONEXO Para abrir uma conexo com um banco de dados preciso realizar duas tarefas distintas: registrar um driver de conexo e solicitar sua abertura. O registro do driver pode ser feito utilizando-se a seguinte instruo, sempre dentro de uma estrutura de tratamento de exceo,
try{Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException cnfe) {}

A String "com.mysql.jdbc.Driver" representa o nome de classe do driver MySQL JDBC. Para carreg-la, basta invocar o mtodo esttico forName() da classe java.lang.Class. A prxima tarefa solicitar a abertura dessa conexo. Para concretizar isso, preciso fazer uso da classe java.sql.DriverManager e da interface java.sql.Connection. A DriverManager representa o servio bsico de gerenciamento de um conjunto de drivers JDBC. Ela contm um mtodo esttico, chamado getConnection(), responsvel por estabelecer uma conexo com um banco de dados. O comando de efetivao da conexo tambm dever estar dentro de uma estrutura de tratamento de exceo. A classe de exceo SQLException est contida dentro do pacote java.sql.
try { Connection con; con = DriverManager.getConnection("jdbc:mysql://localhost/banco", "usurio", "senha"); } catch (SQLException sqle) {}

Depois de ser utilizada, logicamente que toda conexo dever ser fechada. Para terminar uma conexo representada por uma instncia de classe Connection, basta invocar seu mtodo close(),
try {con.close();} catch (SQLException sqle) {}

O exemplo a seguir ilustra como registrar um driver e estabelecer uma conexo com o banco de dados que fora criado anteriormente.
//importao das classes necessrias para efetuar a conexo import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; //importao da classe para utilizao de dilogos padronizados import javax.swing.JOptionPane;

PROGRAMAO AVANADA Material de apoio - Parte VI (29/03 a 02/04/2010) - Prof Sidney Leal
//classe externa public class TesteConexao { //atributos para driver JDBC e URL do banco de dados static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DATABASE_URL = "jdbc:mysql://localhost/banco"; //atributo para a interface Connection static Connection con; //mtodo principal public static void main(String[] args) { //variveis do mtodo main String st = ""; //proteo para registro do driver de conexo try { //registro do driver de conexo Class.forName(JDBC_DRIVER); //informa o sucesso do registro do driver st = "Driver registrado com sucesso!"; JOptionPane.showMessageDialog(null, st, "Registro de driver", 1); } catch(ClassNotFoundException cnfe) { /* se no encontrou o driver de conexo: - emite mensagem informativa ao usurio; - fecha a aplicao. */ st = "Driver no registrado!"; JOptionPane.showMessageDialog(null, st, "Erro", 0); System.exit(0); } //proteo para abertura e fechamento de conexo try { //efetiva a conexo, utilizando a URL do banco de dados con = DriverManager.getConnection(DATABASE_URL, "", ""); //informa o sucesso da conexo ao usurio st = "Conexo estabelecida."; JOptionPane.showMessageDialog(null, st, "Abertura da conexo", 1); //fecha a conexo con.close(); //informa o fechamento da conexo ao usurio st = "Conexo fechada."; JOptionPane.showMessageDialog(null, st, "Fechamento da conexo", 1); } catch(SQLException sqle) { //se a conexo no foi estabelecida informa a falha ao usurio st = "Falha ocorrida durante a conexo!"; JOptionPane.showMessageDialog(null, st, "Erro", 0); } finally{System.exit(0);} //fecha a aplicao; } }

PROGRAMAO AVANADA Material de apoio - Parte VI (29/03 a 02/04/2010) - Prof Sidney Leal Mensagens da aplicao:

BIBLIOGRAFIA BSICA
DEITEL, H.M.. Java : como programar. Porto Alegre: Bookman, 2005. KNUDSEN, Jonathan; NIEMEYER, Patrick. Aprendendo Java. Rio de Janeiro: Campus, 2002. JANDL JUNIOR, Peter. Introduo ao Java. So Paulo: Berkeley, 2002.

PROGRAMAO AVANADA Material de apoio - Parte VI (29/03 a 02/04/2010) - Prof Sidney Leal BIBLIOGRAFIA COMPLEMENTAR
PAGE-JONES, Meilir. O que todo programador deveria saber sobre projeto orientado a objeto. So Paulo: Makron Books, 1997. ORFALI, Robert. Client/server programming with Java and Corba. : John Wiley, 1998. REESE, Gorge. JDBC e Java : programo para banco de dados. So Paulo: Berkeley, 2001. RITCHEY, Tim. Programando com Java : Beta 2.0. Rio de Janeiro: Campus, 1997. BLAHA, Michael. Modelagem e projetos baseados em objetos com UML 2. Rio de Janeiro: Campus, 2006.

Anda mungkin juga menyukai