Buscar

APOSTILA DE JAVA E BANCO DE DADOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

APOSTILA DE PROGRAMAÇÃO ORIENTADA A OBJETOS II 
JAVA E BANCO DE DADOS 
 
Configuração PostgreSQL 
 
Selecionar o PostgreSQL pgAdmin III 
 
 
 
 
 
Botão direito em PostgreSQL 9.0 e selecionar a opção 
Connect. 
 
 
 
 
Informar a senha de configuração do PostgreSQL. 
Depois de identificada a senha o sistema estará pronto para ser 
utilizado. 
 
 
 
Para criar um novo Banco de dados basta clicar com 
o botão direito sobre Databases  New Database... 
 
 
 
 
 
Para isso basta selecionar um banco já existente e 
clicar no botão SQL na barra de atalhos. 
Na tela Query você irá digitar as instruções 
desejadas. Para executá-las a instrução deverá clicar no menu Query Execute ou pressionar a 
tecla F5. 
 
ATENÇÃO: 
Para criar a tabela sempre selecionar o banco antes e depois clicar no botão SQL. 
 
Banco criado e alguns dados inseridos. Vamos para o NetBeans! 
 
 
Vamos criar nosso projeto. Para isso faça: 
1. Arquivo > Novo Projeto; 
2. Escolha categoria: Java. Projeto: Aplicativo Java; 
3. Clique em Próximo; 
4. Coloque um nome para o projeto – Exemplo: 
projetoBancodeDados e clique em finalizar; 
 
Nosso projeto foi criado. 
 
Agora vamos adicionar o driver JDBC para que nossa aplicação 
consiga se conectar ao Banco de Dados. Para isso: 
 
1. Na aba do Projeto, selecione a opção Bibliotecas e clique no 
botão Adicionar biblioteca. 
2. Vá até o JDBC do PostgreSQL selecione o arquivo .jar 
3. Clique no botão  Adicionar biblioteca. 
 
Pronto. O JDBC já foi adicionado a nossa aplicação. Agora vamos fazer 
um pouco de código. 
Nós iremos fazer toda a conexão com banco de dados direto da classe 
principal que o NetBeans nos forneceu. 
 
 
 
 
 
Escolher o banco de dados: 
Aba Serviços  banco de dados  botão direito do mouse  Nova Conexão 
 
Clicar em OK, 
depois selecionar 
Public. 
 
 
 
 
 
 
 
 
 
 
 
 
 
PARA O PROJETO (INTERFACE): 
 
Clique com o botão direito sobre o projeto 
 Novo  Formulário JFrame 
 
 
 
 
 
 
 
 
 
 
 
Criar um formulário JFRAME - menu seguindo o modelo abaixo: 
 
 
 
 PROGRAMAÇÃO NO BOTÃO INSERIR PRODUTO: 
 // botão para abrir o formulário de inserção de produto 
 new inserirProduto().setVisible(true); //mostra o formulário na tela 
 this.setVisible(false); //tira visibilidade do formulário 
 
 PROGRAMAÇÃO NO BOTÃO CONSULTAR PRODUTO: 
 // botão para mostrar o formulário de consulta 
 new consultaProduto().show(); //mostra o formulário na tela 
 this.hide(); //tira a visibilidade do formulário 
 
 PROGRAMAÇÃO NO BOTÃO EXCLUIR PRODUTO: 
// botão para mostrar o formulário de consulta 
new consultaProduto().show(); //mostra o formulário na tela 
this.hide(); //tira a visibilidade do formulário 
 
 PROGRAMAÇÃO NO BOTÃO ATUALIZAR PRODUTO: 
 // botão para mostrar o formulário de consulta 
 new atualizarProduto().show(); //mostra o formulário na tela 
 this.hide(); //tira a visibilidade do formulário 
 
 PROGRAMAÇÃO DO BOTÃO SAIR: 
 // encerrar a aplicação java 
 System.exit(0); 
 
 
Criar um formulário JFRAME - inserirProduto seguindo o modelo a seguir: 
 
 
 IMPORTAÇÕES NECESSÁRIAS PARA A CLASSE (inserirProduto) SER EXECUTADA: 
import javax.swing.*; 
import java.sql.*; 
import projetobancodedados.conexao; 
 
 DECLARAÇÕES NECESSÁRIAS PARA A CLASSE (inserirProduto): 
 private conexao con; 
 private PreparedStatement statement; 
 private ResultSet resultSet; 
 
 
 PROGRAMAÇÃO DO BOTÃO INSERIR: 
 //inserir produto 
 conexao con = new conexao(); 
 try { 
 if (!con.getConnection()) { 
 JOptionPane.showMessageDialog(null, "Falha na conexao, o sistema será fechado!"); 
 System.exit(0); 
 } else { 
 //Cria um statement para podermos mandar um SQL para o banco 
 Statement stmt = con.conn.createStatement(); 
 
 String sqlinsert = "insert into produto(codigo,descricao,preco,categoria)" 
 + "values (" 
 + jTextField1.getText() + ",'" 
 + jTextField2.getText() + "'," 
 + jTextField3.getText() + ",'" 
 + jTextField4.getText() + "') "; 
 stmt.executeUpdate(sqlinsert); 
 JOptionPane.showMessageDialog(null, "Gravação realizado com sucesso!"); 
 } 
 } catch (Exception erro) { 
 JOptionPane.showMessageDialog(null,"Comando SQL invalido!" + erro.toString()); 
 } 
 
 PROGRAMAÇÃO DO BOTÃO FECHAR: 
 // botao fechar 
 this.hide(); //tira a visibilidade a tela ativa 
 new menu().setVisible(true); //mostra a tela de menu - jframe 
 
 
 
Criar um formulário JFRAME - consultaProduto seguindo o modelo a seguir: 
 
 
Para alterar os nomes das colunas 
do componente JTABLE, selecionar 
o objeto e clicar na aba Propriedade 
selecionar a opção MODEL, como 
mostrar a imagem a seguir: 
 
 
 
 
 
 
 
E configurar conforme a tela a seguir: 
 
 IMPORTAÇÕES NECESSÁRIAS PARA A CLASSE (consultaProduto): 
import java.sql.*; 
import java.util.Vector; 
import java.util.logging.*; 
import javax.swing.*; 
import javax.swing.table.DefaultTableModel; 
import projetobancodedados.conexao; 
 
 
 
 DECLARAÇÕES NECESSÁRIAS PARA A CLASSE (consultaProduto): 
 //declarações das variaveis 
 private conexao con; 
 private PreparedStatement statement; 
 private ResultSet resultSet; 
 String sql; 
 
 CRIAÇÃO DO MÉTODO PARA CONSULTAR OS REGISTROS: 
 //metodo para consultar produtos 
 public void consultar(){ 
 conexao con = new conexao(); 
 
 if (!con.getConnection()) { 
 JOptionPane.showMessageDialog(null, "Falha na conexao, o sistema será fechado!"); 
 System.exit(0); 
 } else { 
 try { 
 //Cria um statement para podermos mandar um SQL para o banco 
 Statement stmt; 
 
 stmt = con.conn.createStatement(); 
 
 //Codigo em SQL para filtrar os dados da tabela PRODUTO 
 sql = "SELECT * FROM produto ORDER BY codigo"; 
 
 //Executa a instrução em SQL 
 resultSet = stmt.executeQuery(sql); 
 
 //Verifica se a tabela CLIENTE possui algum registro 
 if (resultSet == null) { 
 return; 
 } 
 
 //Variavel que irá receber os valores cadastrados na tabela PRODUTO 
 ResultSetMetaData rsmd; 
 rsmd = resultSet.getMetaData(); 
 
 //Construtor que irá controlar o numero de colunas 
 Vector vetColuna = new Vector(); 
 for (int i = 0; i < rsmd.getColumnCount(); i++) { 
 vetColuna.add(rsmd.getColumnLabel(i + 1)); 
 } 
 
 //Construtor que irá controlar o numero de linhas 
 Vector vetLinhas = new Vector(); 
 
 //Verifica se possui um proximo registro 
 while (resultSet.next()) { 
 Vector vetLinha = new Vector(); 
 for (int i = 0; i < rsmd.getColumnCount(); i++) { 
 vetLinha.add(resultSet.getObject(i + 1)); 
 } 
 
 //Insere as linhas na tabela do formulario 
 vetLinhas.add(vetLinha); 
 
 //Desenha a tabela com os valores de linha e coluna referentes a tabela CLIENTE 
 jTable1.setModel(new DefaultTableModel(vetLinhas, vetColuna)); 
 }//Tratamento de erros 
 } catch (SQLException ex) { 
 Logger.getLogger(consultaProduto.class.getName()).log(Level.SEVERE, null, ex); 
 } 
 } 
 con.close(); 
 } 
 
 
 PROGRAMAÇÃO DO BOTÃO CONSULTAR PRODUTO: 
 //chama o método consultar da classe 
 consultar(); 
 
 PROGRAMAÇÃO DO BOTÃO EXCLUIR PRODUTO: 
 // EXCLUSAO PRODUTO 
 conexao con = new conexao(); 
 
 if (!con.getConnection()) { 
 JOptionPane.showMessageDialog(null, "Falha na conexao, o sistema será fechado!"); 
 System.exit(0); 
 } else { 
 try { 
 //Cria um statement para podermos mandar um SQL para o banco 
 Statement stmt; 
 
 stmt = con.conn.createStatement(); 
 
 int[] l = jTable1.getSelectedRows();//captura as linhas selecionadas 
 //pega o DefaultTableModel da tabela 
 javax.swing.table.DefaultTableModel dtm = 
 (javax.swing.table.DefaultTableModel) jTable1.getModel(); 
 //Variavel que ira receber o numero da linha selecionada no JTABLE 
 String valorSelecionado = jTable1.getValueAt(jTable1.getSelectedRow(), 
jTable1.getSelectedColumn()).toString(); 
 
 //Tela de confirmação para excluir o registro selecionado 
 int status = JOptionPane.showConfirmDialog(null, "Deseja excluir o item " + 
valorSelecionado + "?", "Atenção", JOptionPane.YES_NO_OPTION); 
 
 //Verifica se o botão clicado na tela de confirmação foi o YES 
 if (status == JOptionPane.YES_OPTION) { 
 
 //Codigo em SQL para excluir o registro selecionado 
 sql = "DELETE FROM produto WHERE codigo = " + valorSelecionado; 
 
 //Executa a instrução em SQL 
 stmt.executeUpdate(sql); 
 
 //Mostra uma tela de informação que o registro foi excluído do banco 
 JOptionPane.showMessageDialog(null, "Excluído com sucesso"); 
 } 
 
 //Tratamento de erros 
 } catch (SQLException ex) { 
 Logger.getLogger(consultaProduto.class.getName()).log(Level.SEVERE, null, ex); 
 } 
 } 
 consultar(); 
 con.close(); 
 
 
 PROGRAMAÇÃO DO BOTÃO SAIR: 
 // fecha a tela e volta para o menu principal 
 this.hide(); 
 new menu().show(); 
 
 
 
 
Criar um formulário JFRAME - atualizarProduto seguindo o modelo a seguir: 
 
 
 
 IMPORTAÇÕES NECESSÁRIAS PARA A CLASSE (atualizarProduto): 
import javax.swing.*; 
import java.sql.*; 
import projetobancodedados.conexao; 
 
 
 DECLARAÇÕES NECESSÁRIAS PARA A CLASSE (atualizarProduto): 
 //declarações das variaveis 
 private conexao con; 
 private PreparedStatement statement; 
 private ResultSet resultSet; 
 String sql; 
 
 PROGRAMAÇÃO DO BOTÃO ATUALIZAR PRODUTO: 
// atualizar produto: 
 conexao con = new conexao(); 
 try { 
 if (!con.getConnection()) { 
 JOptionPane.showMessageDialog(null, "Falha na conexao, o sistema será fechado!"); 
 System.exit(0); 
 } else { 
 //Cria um statement para podermos mandar um SQL para o banco 
 Statement stmt = con.conn.createStatement(); 
 
 //Codigo em SQL para atualizar os registros atraves dos valores existentes nos TextFields 
 sql = "update produto set descricao = '" + jTextField2.getText() + 
 "', preco=" + jTextField3.getText() + ", categoria = '" + jTextField4.getText() + 
 "' where codigo = " + jTextField1.getText(); 
 stmt.executeUpdate(sql); 
 //Tela de confirmação dos dados atualizados 
 JOptionPane.showMessageDialog(null, "Registro atualizado com sucesso!"); 
 } 
 } catch (Exception erro) { 
 JOptionPane.showMessageDialog(null, "Comando SQL invalido !" + erro.toString()); 
 } 
 
 PROGRAMAÇÃO DO BOTÃO FECHAR: 
 this.hide(); 
 new menu().show(); 
 
 
INSERIR UM NOVA CLASSE CHAMADA: conexao.java 
import java.sql.*; 
import javax.swing.*; 
 
public class conexao { 
 
 /*A Linguagem Java possui uma Application Programming Interface (API) que possibilita o 
acesso a Banco de Dados - Java DataBase Connectivity (JDBC) 
O que é a JDBC? Consiste em uma biblioteca, Implementada em Java, Disponibiliza classes e 
interfaces para acessar qualquer banco de dados; 
Importante: Para cada banco de dados existe uma implementação JDBC - Drivers.*/ 
 //declarações das variáveis 
 String driver = "org.postgresql.Driver"; //Classe do driver JDBC 
 String banco = "aulaBD"; //Nome do Banco de Dados criado 
 String host = "localhost"; //Maquina onde está o Banco de Dados 
 String str_conn = "jdbc:postgresql://localhost:5432/aulaBD”; //URL de conexão 
 String usuario = "postgres"; //Usuário do Banco de Dados 
 String senha = "sql"; //Senha de conexão do servidor 
 
 /* Principais classes do pacote java.sql: 
 DriverManager: responsável por criar uma conexão com o banco de dados; 
 Connection: classe responsável por manter uma conexão aberta com o banco de dados; 
 Statement: gerencia e executa instruções SQL; 
 ResultSet: responsável por receber e apresentar os dados obtidos do banco de dados.*/ 
 Connection conn; 
 Statement stmt; 
 
 /*Metodo que faz conexão com o banco de dados retorna true se houve sucesso, ou false em 
caso negativo*/ 
 public boolean getConnection() { 
 try { 
 Class.forName(driver); 
 conn = DriverManager.getConnection(str_conn, usuario, senha); 
 System.out.println("Conectou..."); 
 return true; 
 } catch (ClassNotFoundException erro) { 
 System.out.println("Driver não encontrado" + erro.toString()); 
 return false; 
 } catch (SQLException erro) { 
 System.out.println("Falha ao conectar" + erro.toString()); 
 return false; 
 } 
 } 
 
 public void close() { 
 try { 
 conn.close(); 
 System.out.println("Desconectou..."); 
 } catch (SQLException erro) { 
 } 
 } 
}

Outros materiais