Programação Orientada a Objetos II AULA Banco de Dados (Exemplo) Prof. Rodrigo Rocha Prof.rodrigorocha@yahoo.com (Modo Texto) Conectando ao Banco de Dados Entre no Diretório do Mysql mysql u root p criando um banco de dados create database aula; criando e dando permissão total para um usuário aluno no banco de dados aula com a senha fpj grant all privileges on aula.* to aluno@"%" identified by fpj' with grant option; 1
Conectando ao Banco de Dados (Modo WEB) Entre no PHPMyAdmin Digite o nome do banco de dados em Create new Database Usuários Você deverá dar direitos ao usuário, para isso crie um novo usuário em privileges 2
Conexão com banco de dados Clique na aba Serviços Botão da Direita em Banco de Dados Escolha Nova Conexão Conexão com banco de dados Configure a conexão com seu MySQL 3
Adicionando a Biblioteca Para o seu projeto conseguir trabalhar com o MySQL, clique com o botão da direita no seu projeto, escolha propriedades, bibliotecas, adicionar biblioteca e escolha mysql jdbc conector Tela de Cadastro Não esqueça de colocar nome nos componentes 4
Interface Criar a Interface Conexoes com as seguintes funções import java.sql.resultset; import java.sql.statement; public interface Conexoes { void abrebancodedados(); void fechabd(); void setbancodedados(string driver, String url_bd, String usuario, String senha); void executasql(string instrucaosql); ResultSet executaconsulta(string consultasql); Criar a classe BancoDeDados implementando a interface Conexoes import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; import java.sql.statement; import javax.swing.joptionpane; Criar uma Classe public class BancoDeDados implements Conexoes{ private Connection conn = null; private Statement stm = null; private String _drivebd,_urlbd,_usuariobd,_senhabd; public BancoDeDados() { public void abrebancodedados() { Class.forName(_driveBD); conn = DriverManager.getConnection(_urlBD,_usuarioBD,_senhaBD); stm=conn.createstatement(); catch (Exception ex) { 5
classe (cont.) public void fechabd() { stm.close(); conn.close(); catch (Exception ex) { public void setbancodedados(string driverbd, String urlbd, String usuariobd, String senhabd) { _drivebd=driverbd; _urlbd=urlbd; _usuariobd=usuariobd; _senhabd=senhabd; public void executasql(string instrucaosql) { stm.execute(instrucaosql); catch (Exception ex) { public ResultSet executaconsulta(string consultasql) { ResultSet rsaux = null; rsaux = stm.executequery(consultasql); catch (Exception ex) { return rsaux; classe (cont) 6
Criar o JFrame Cadastro Instanciar a classe e declarar as variáveis globais public class Cadastro extends javax.swing.jframe { BancoDeDados bdcadastro = new BancoDeDados(); ResultSet rs = null; String acao = null; Programar o construtor, configurando o banco de dados, abrindo e chamando a função de atualizar public Cadastro() { initcomponents(); bdcadastro.setbancodedados("com.mysql.jdbc.driver", "jdbc:mysql://localhost:3306/nomebd","rodrigo","senha"); bdcadastro.abrebancodedados(); Atualiza(); public void Atualiza() { rs = bdcadastro.executaconsulta("select * from alunos order by nome"); if (rs.next()) { jtextnome.settext(rs.getstring("nome")); jtextra.settext(rs.getstring("ra")); catch (Exception ex) { Criar as funções public void pesquisara(string rapesquisado) { rs = bdcadastro.executaconsulta("select * from alunos order by nome"); while (rs.next()) { if (rs.getstring("ra").comparetoignorecase(rapesquisado)==0 ) { jtextnome.settext(rs.getstring("nome")); jtextra.settext(rs.getstring("ra")); break; catch (Exception ex) { 7
Programando os botões Botão Novo (jbuttonnovo) private void jbuttonnovoactionperformed(java.awt.event.actionevent evt) { jtextnome.settext(""); jtextra.settext(""); acao = "NOVO"; Botão Excluir (jbuttonexcluir) private void jbuttonexcluiractionperformed(java.awt.event.actionevent evt) { bdcadastro.executasql("delete FROM alunos WHERE ra="+jtextra.gettext()); Programando os botões Botão Próximo private void jbuttonproximoactionperformed(java.awt.event.actionevent evt) { if (rs.next()) { jtextnome.settext(rs.getstring("nome")); jtextra.settext(rs.getstring("ra")); else { rs.previous(); JOptionPane.showMessageDialog(null,"Final do Arquivo."); catch (HeadlessException ex) { ex.printstacktrace(); catch (SQLException ex) { ex.printstacktrace(); 8
Programando os botões Botão Anterior private void jbuttonanterioractionperformed(java.awt.event.actionevent evt) { if (rs.previous()) { jtextnome.settext(rs.getstring("nome")); jtextra.settext(rs.getstring("ra")); else { rs.next(); JOptionPane.showMessageDialog(null,"Final do Arquivo."); catch (HeadlessException ex) { ex.printstacktrace(); catch (SQLException ex) { ex.printstacktrace(); Programando os botões Botão Gravar private void jbuttongravaractionperformed(java.awt.event.actionevent evt) { if (acao=="novo") { bdcadastro.executasql("insert INTO alunos(ra,nome) VALUES("+jTextRA.getText()+",'"+jTextNome.getText()+"')") ; acao=null; else { bdcadastro.executasql("update alunos SET nome='"+jtextnome.gettext()+"' WHERE ra="+jtextra.gettext()+""); //Somente para posicionar no registro inserido ou atualizado pesquisara(jtextra.gettext()); 9
Programando os botões Botão Pesquisar private void jbuttonpesquisaractionperformed(java.awt.event.actionevent evt) { String nomepesquisa = JOptionPane.showInputDialog(null,"Digite o nome:"); rs = bdcadastro.executaconsulta("select * from alunos where nome like '"+nomepesquisa+"%'"); if(rs.next()) { //JOptionPane.showMessageDialog(null,rs.getString("RA")); pesquisara(rs.getstring("ra")); else { JOptionPane.showMessageDialog(null,"Não Localizado"); catch (SQLException ex) { Bibliografia Livro texto DEITEL, H. M. & DEITEL, P. J., LISBOA, C. A. L. Java, como programar. 6ª Ed. São Paulo: Pearson, 2006. CAPÍTULO 11 Complementar HORSTMANN, Cay S.; CORNELL, Gary. Core Java 2: fundamentos.. 7.ed. Rio de Janeiro, 2005. http://java.sun.com/docs/ 10