Java com MySQL

4 respostas
R

Pergunta de iniciante :cry: :
É minha primeira tentativa de escrever algo com BD.
Utilizo Netbeans e já tenho minhas tabelas prontas e populadas no MySQL.
O Netbeans faz todo o trabalho de transformar minhas tabelas em classes.Crio objetos com essas classes e tal, mas, que classe devo usar para navegar nos registros?

Obrigado.

4 Respostas

maquiavelbona

Dê um procurandinha aqui no fórum tanto em Artigos/Tutoriais quanto em Busca por JDBC.

Até!

peerless

no linux, eu criei este metodo para fazer a conexão:

public java.sql.Connection conecta_bd(String nome_banco) throws Exception { Class.forName("com.mysql.jdbc.Driver"); String query = "jdbc:mysql://localhost/" + nome_banco + "?user=root"; Connection con = DriverManager.getConnection(query); return con; }

Uso :
private Connection con; //objeto do tipo coneções
private Statement st; // objeto para enviar as instruções para o banco (statement) // posso usar os prepared statement que prepara antes de enviar
private ResultSet rs; // as instruções retornaram no result- se for seleção ou consulta
st=conecta_bd(“banco_teste”).createStatement();
String SQL = “seu sql aqui”; //EX: “select * from cadastro”
st.execute(SQL); //para executar seu comando sql

ou

ResultSet rs = st.executeQuery(SQL); //para agregar o resultado em RS para poder usar posteriormente os valores retornados …

ex:
rs.next … rs.getString(“cpf”);

etc…

no google e no guj tu encontra um bom material

r0g3r10gc

exemplo completo para você:

/*

  • JCadParticipante.java
  • Created on February 5, 2007, 1:56 PM
    */

package rh;

import java.awt.AWTKeyStroke;

import java.awt.KeyboardFocusManager;

import java.awt.event.KeyEvent;

import java.beans.PropertyVetoException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.HashSet;

import javax.swing.JOptionPane;

/**
*

  • @author Administrator
    */
    public class JCadParticipante extends javax.swing.JInternalFrame {

    /** Creates new form JCadParticipante */
    
    public JCadParticipante() {
    
    initComponents();
    
    }
    

    /** This method is called from within the constructor to

    • initialize the form.

    • WARNING: Do NOT modify this code. The content of this method is

    • always regenerated by the Form Editor.
      
      */
      
      // 
      
      private void initComponents() {
      
      jToolBar1 = new javax.swing.JToolBar();
      
      JNovo = new javax.swing.JButton();
      
      JSalvar = new javax.swing.JButton();
      
      JCancelar = new javax.swing.JButton();
      
      JSair = new javax.swing.JButton();
      
      jPanel5 = new javax.swing.JPanel();
      
      jPanel2 = new javax.swing.JPanel();
      
      TNTreina = new javax.swing.JTextField();
      
      jPanel1 = new javax.swing.JPanel();
      
      jLabel1 = new javax.swing.JLabel();
      
      jLabel2 = new javax.swing.JLabel();
      
      TMatricula = new javax.swing.JTextField();
      
      jLabel3 = new javax.swing.JLabel();
      
      CFuncao = new javax.swing.JComboBox();
      
      JCNome = new javax.swing.JComboBox();
      
      jPanel3 = new javax.swing.JPanel();
      
      jLabel4 = new javax.swing.JLabel();
      
      TSetor = new javax.swing.JTextField();
      
      jPanel4 = new javax.swing.JPanel();
      
      CEmail = new javax.swing.JComboBox();
      
      CTelefone = new javax.swing.JComboBox();
      
      COutro = new javax.swing.JComboBox();
      
      jLabel5 = new javax.swing.JLabel();
      
      jLabel6 = new javax.swing.JLabel();
      
      jLabel7 = new javax.swing.JLabel();
      

      getContentPane().setLayout(null);

      setClosable(true);
      
      setIconifiable(true);
      
      setMaximizable(true);
      
      setResizable(true);
      
      setTitle(Cadastro de Participantes);
      
      addInternalFrameListener(new javax.swing.event.InternalFrameListener() {
      
      public void internalFrameActivated(javax.swing.event.InternalFrameEvent evt) {
      
      formInternalFrameActivated(evt);
      
      }
      
      public void internalFrameClosed(javax.swing.event.InternalFrameEvent evt) {
      
      }
      
      public void internalFrameClosing(javax.swing.event.InternalFrameEvent evt) {
      
      }
      
      public void internalFrameDeactivated(javax.swing.event.InternalFrameEvent evt) {
      
      }
      
      public void internalFrameDeiconified(javax.swing.event.InternalFrameEvent evt) {
      
      }
      
      public void internalFrameIconified(javax.swing.event.InternalFrameEvent evt) {
      
      }
      
      public void internalFrameOpened(javax.swing.event.InternalFrameEvent evt) {
      
      }
      
      });
      
      addPropertyChangeListener(new java.beans.PropertyChangeListener() {
      
      public void propertyChange(java.beans.PropertyChangeEvent evt) {
      
      formPropertyChange(evt);
      
      }
      
      });
      
      JNovo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/XML-Schema-element-details.png")));
      
      JNovo.setToolTipText(Novo Cadastro Treinamento);
      
      JNovo.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      JNovoActionPerformed(evt);
      
      }
      
      });
      

      jToolBar1.add(JNovo);

      JSalvar.setFont(new java.awt.Font(Tahoma, 0, 10));
      
      JSalvar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/save.png")));
      
      JSalvar.setToolTipText(Salvar Dados Cadastrados);
      
      JSalvar.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      JSalvarActionPerformed(evt);
      
      }
      
      });
      

      jToolBar1.add(JSalvar);

      JCancelar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/reset-icon.png")));
      
      JCancelar.setToolTipText(Cancelar Dados Digitados);
      
      JCancelar.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      JCancelarActionPerformed(evt);
      
      }
      
      });
      

      jToolBar1.add(JCancelar);

      JSair.setFont(new java.awt.Font(Tahoma”, 0, 10));
      
      JSair.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/stop-icon.png")));
      
      JSair.setToolTipText(Sair do Cadastro de Treinamento);
      
      JSair.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      JSairActionPerformed(evt);
      
      }
      
      });
      

      jToolBar1.add(JSair);

      getContentPane().add(jToolBar1);
      jToolBar1.setBounds(0, 0, 1010, 30);

      jPanel5.setLayout(null);

      jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
      jPanel2.setLayout(null);

      jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(N\u00famero do Treinamento));
      
      TNTreina.setFont(new java.awt.Font(Tahoma, 1, 14));
      
      TNTreina.setForeground(new java.awt.Color(0, 0, 204));
      
      TNTreina.setHorizontalAlignment(javax.swing.JTextField.CENTER);
      
      TNTreina.addFocusListener(new java.awt.event.FocusAdapter() {
      
      public void focusLost(java.awt.event.FocusEvent evt) {
      
      TNTreinaFocusLost(evt);
      
      }
      
      });
      

      jPanel2.add(TNTreina);
      TNTreina.setBounds(30, 20, 150, 26);

      jPanel5.add(jPanel2);
      jPanel2.setBounds(20, 50, 210, 60);

      jPanel1.setLayout(null);

      jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
      
      jLabel1.setText(Nome);
      
      jPanel1.add(jLabel1);
      
      jLabel1.setBounds(20, 30, 50, 14);
      
      jLabel2.setText(Matr\u00edcula);
      
      jPanel1.add(jLabel2);
      
      jLabel2.setBounds(440, 30, 70, 14);
      
      TMatricula.setFont(new java.awt.Font(Tahoma, 1, 14));
      
      TMatricula.setForeground(new java.awt.Color(0, 0, 204));
      
      TMatricula.setHorizontalAlignment(javax.swing.JTextField.CENTER);
      
      jPanel1.add(TMatricula);
      
      TMatricula.setBounds(500, 20, 200, 26);
      
      jLabel3.setText("Fun\u00e7\u00e3o ");
      
      jPanel1.add(jLabel3);
      
      jLabel3.setBounds(720, 30, 60, 14);
      
      CFuncao.setFont(new java.awt.Font(Tahoma, 1, 14));
      
      CFuncao.setForeground(new java.awt.Color(0, 0, 204));
      
      CFuncao.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “”, G, S, O, A }));
      
      jPanel1.add(CFuncao);
      
      CFuncao.setBounds(780, 20, 90, 26);
      
      JCNome.setFont(new java.awt.Font(Tahoma, 1, 14));
      
      JCNome.setForeground(new java.awt.Color(0, 0, 204));
      
      try {
      
      Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);
      
      Connection ConectaNoBanco = DriverManager.getConnection(jdbc:odbc:Ponto, admin, @ponto1999@”);
      
      Statement stmt = ConectaNoBanco.createStatement();
      
      ResultSet RS= (ResultSet) stmt.executeQuery("SELECT * FROM FUNCIONARIO ORDER BY NOME");
       while(RS.next())
       {
      
           JCNome.addItem(RS.getString("NOME"));
           JCNome.setSelectedIndex(-1);
       }
      
      }
      
      catch (SQLException e)
      
      {
      
      JOptionPane.showMessageDialog(this,ERRO AO CONECTAR NO BANCO DE DADOS FUNCIONÁRIO+e.getMessage());
      
      }
      
      catch (ClassNotFoundException e)
      
      {
      
      JOptionPane.showMessageDialog(this,ERRO NO DRIVER DE CONEXÃO);
      
      }
      
      JCNome.addItemListener(new java.awt.event.ItemListener() {
      
      public void itemStateChanged(java.awt.event.ItemEvent evt) {
      
      JCNomeItemStateChanged(evt);
      
      }
      
      });
      

      jPanel1.add(JCNome);
      JCNome.setBounds(60, 20, 360, 26);

      jPanel5.add(jPanel1);
      jPanel1.setBounds(20, 120, 950, 70);

      jPanel3.setLayout(null);

      jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
      
      jLabel4.setText(Setor);
      
      jPanel3.add(jLabel4);
      
      jLabel4.setBounds(20, 30, 50, 14);
      
      TSetor.setFont(new java.awt.Font(Tahoma, 1, 14));
      
      TSetor.setForeground(new java.awt.Color(0, 0, 204));
      
      TSetor.addKeyListener(new java.awt.event.KeyAdapter() {
      
      public void keyReleased(java.awt.event.KeyEvent evt) {
      
      TSetorKeyReleased(evt);
      
      }
      
      });
      

      jPanel3.add(TSetor);
      TSetor.setBounds(60, 20, 360, 26);

      jPanel5.add(jPanel3);
      jPanel3.setBounds(20, 210, 440, 70);

      jPanel4.setLayout(null);

      jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Controle Convoca\u00e7\u00e3o "));
      
      CEmail.setFont(new java.awt.Font(Tahoma, 1, 14));
      
      CEmail.setForeground(new java.awt.Color(255, 0, 0));
      
      CEmail.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “”, X }));
      
      jPanel4.add(CEmail);
      
      CEmail.setBounds(220, 30, 55, 25);
      
      CTelefone.setFont(new java.awt.Font(Tahoma, 1, 14));
      
      CTelefone.setForeground(new java.awt.Color(255, 0, 0));
      
      CTelefone.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “”, X }));
      
      jPanel4.add(CTelefone);
      
      CTelefone.setBounds(80, 30, 55, 25);
      
      COutro.setFont(new java.awt.Font(Tahoma, 1, 14));
      
      COutro.setForeground(new java.awt.Color(255, 0, 0));
      
      COutro.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “”, X }));
      
      jPanel4.add(COutro);
      
      COutro.setBounds(350, 30, 55, 25);
      
      jLabel5.setText(Fone);
      
      jPanel4.add(jLabel5);
      
      jLabel5.setBounds(34, 40, 40, 14);
      
      jLabel6.setText(E-Mail);
      
      jPanel4.add(jLabel6);
      
      jLabel6.setBounds(174, 40, 40, 14);
      
      jLabel7.setText(Outros);
      
      jPanel4.add(jLabel7);
      
      jLabel7.setBounds(304, 40, 40, 14);
      

      jPanel5.add(jPanel4);
      jPanel4.setBounds(480, 200, 490, 80);

      getContentPane().add(jPanel5);
      jPanel5.setBounds(10, 60, 990, 390);

      pack();
      }//

    private void formPropertyChange(java.beans.PropertyChangeEvent evt) {
    
    HashSet conj = new HashSet(this.getFocusTraversalKeys (KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS));
    
    conj.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_ENTER, 0));
    
    this.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, conj);
    
    // TODO add your handling code here:
    
    }
    
    private void TSetorKeyReleased(java.awt.event.KeyEvent evt) {
    
    TSetor.setText(TSetor.getText().toUpperCase());// TODO add your handling code here:
    
    }
    
    private void JCancelarActionPerformed(java.awt.event.ActionEvent evt) {
    
    TNTreina.setEnabled(false);
    
    JCNome.setEnabled(false);
    
    TMatricula.setEnabled(false);
    
    CFuncao.setEnabled(false);
    
    TSetor.setEnabled(false);
    
    CTelefone.setEnabled(false);
    
    CEmail.setEnabled(false);
    
    COutro.setEnabled(false);
    
TNTreina.setText("");

JCNome.setSelectedIndex(-1);

TMatricula.setText("");

CFuncao.setSelectedItem("");

TSetor.setText("");

CTelefone.setSelectedItem("");

CEmail.setSelectedItem("");

COutro.setSelectedItem("");

// TODO add your handling code here:

}
private void TNTreinaFocusLost(java.awt.event.FocusEvent evt) {
try {

Class.forName(“com.mysql.jdbc.Driver”);

Connection ConectaNoBanco = DriverManager.getConnection(“jdbc:mysql://10.5.0.115:3306/rh,root,123456);
Statement stmt = ConectaNoBanco.createStatement();

      String xtreina =  TNTreina.getText();
        
        ResultSet RS1= (ResultSet) stmt.executeQuery("SELECT *FROM tbtreina WHERE codTreina = '"+xtreina.substring(0)+"'");
    if (RS1.next())            
    {
        TNTreina.setText(RS1.getString("codTreina"));
        String cod = TNTreina.getText();
        
       //String message = String.format("O CÓDIGO GERADO PARA TREINAMENTO CADASTRADO É %s, FAVOR ANOTE!" ,cod);
       //JOptionPane.showMessageDialog(null,message);
       
    }
    else
    {
        JOptionPane.showMessageDialog(null,"CÓDIGO INEXISTENTE, FAVOR VERIFIQUE SE FOI CADASTRADO \nO TREINAMENTO REFERIDO A ESTE CÓDIGO !");
TNTreina.setEnabled(false);

JCNome.setEnabled(false);

TMatricula.setEnabled(false);

CFuncao.setEnabled(false);

TSetor.setEnabled(false);

CTelefone.setEnabled(false);

CEmail.setEnabled(false);

COutro.setEnabled(false);

}
} catch (SQLException e) {
        JOptionPane.showMessageDialog(this,"ERRO NO COMANDO SQL"+e.getMessage());
    } catch (ClassNotFoundException e) {
        JOptionPane.showMessageDialog(this,"DRIVER NÃO ENCONTRADO");
    }

// TODO add // TODO add your handling code here:
}

private void JNovoActionPerformed(java.awt.event.ActionEvent evt) {
TNTreina.setEnabled(true);

JCNome.setEnabled(true);

<a href="//TMatricula.setEnabled">//TMatricula.setEnabled</a>(true);

CFuncao.setEnabled(true);

TSetor.setEnabled(true);

CTelefone.setEnabled(true);

CEmail.setEnabled(true);

COutro.setEnabled(true);
TNTreina.setText("");

JCNome.setSelectedIndex(-1);

TMatricula.setText("");

CFuncao.setSelectedItem("");

TSetor.setText("");

CTelefone.setSelectedItem("");

CEmail.setSelectedItem("");

COutro.setSelectedItem("");
TNTreina.requestFocus();

// TODO add your handling code here:

}
private void JCNomeItemStateChanged(java.awt.event.ItemEvent evt) {
boolean consulta = true;

try {

Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);

Connection ConectaNoBanco = DriverManager.getConnection(jdbc:odbc:Ponto, admin, @ponto1999@”);

Statement stmt = ConectaNoBanco.createStatement();
ResultSet RS2= (ResultSet) stmt.executeQuery("SELECT * FROM FUNCIONARIO where NOME ='"+JCNome.getSelectedItem()+"'");
    if (RS2.next())  
    {
                              
             TMatricula.setText(RS2.getString("CODIGO"));
                          
    }
        
    }
    catch (SQLException e) {
     //   JOptionPane.showMessageDialog(this,"ERRO NO COMANDO SQL"+e.getMessage());
    } catch (ClassNotFoundException e) {
     //   JOptionPane.showMessageDialog(this,"DRIVER NÃO ENCONTRADO");
    }

// TODO add your handling code here:
}

private void JSairActionPerformed(java.awt.event.ActionEvent evt) {                                      
    dispose();// TODO add your handling code here:
}                                     

private void JSalvarActionPerformed(java.awt.event.ActionEvent evt) {
String xtreina = TNTreina.getText();

String xnome =   (String) JCNome.getSelectedItem();

String xmatricula = TMatricula.getText();

String xfuncao = (String) CFuncao.getSelectedItem();

String xsetor = TSetor.getText();

String xtelefone = (String) CTelefone.getSelectedItem();

String xemail = (String) CEmail.getSelectedItem();

String xoutro = (String) COutro.getSelectedItem();
try {

Class.forName(“com.mysql.jdbc.Driver”);

Connection ConectaNoBanco = DriverManager.getConnection(“jdbc:mysql://10.5.0.115:3306/rh,root,123456);
Statement stmt = ConectaNoBanco.createStatement();
        
         Object[] options = { "Sim", "No" };
        int opc = JOptionPane.showOptionDialog(null, "DESEJA REALMENTE GRAVAR ESTES DADOS ?", "GRAVAR", JOptionPane.DEFAULT_OPTION,3, null, options, options[0]);
   
        if (opc == JOptionPane.YES_OPTION) {
           
    stmt.executeUpdate("INSERT INTO tbparticipa(codTreina,nome,matricula,funcao,setor,fone,email,outros)VALUES('"+xtreina+"','"+xnome+"','"+xmatricula+"','"+xfuncao+"','"+xsetor+"','"+xtelefone+"','"+xemail+"','"+xoutro+"')");
   
    JOptionPane.showMessageDialog(this,"DADOS GRAVADOS COM SUCESSO...");
    
   

        }
    } catch (SQLException e) {
        JOptionPane.showMessageDialog(this,"ERRO NO COMANDO SQL"+e.getMessage());
    } catch (ClassNotFoundException e) {
        JOptionPane.showMessageDialog(this,"DRIVER NÃO ENCONTRADO");
    }// TODO add your handling code here:

// TODO add your handling code here:
}

private void formInternalFrameActivated(javax.swing.event.InternalFrameEvent evt) {
try

{

setMaximum(true);// TODO add your handling code here:

}

catch (PropertyVetoException exe)

{

exe.printStackTrace();

}

TMatricula.setEnabled(false);
TNTreina.setEnabled(false);

JCNome.setEnabled(false);

TMatricula.setEnabled(false);

CFuncao.setEnabled(false);

TSetor.setEnabled(false);

CTelefone.setEnabled(false);

CEmail.setEnabled(false);

COutro.setEnabled(false);
// TODO add your handling code here:
}                                           


// Variables declaration - do not modify                     
private javax.swing.JComboBox CEmail;
private javax.swing.JComboBox CFuncao;
private javax.swing.JComboBox COutro;
private javax.swing.JComboBox CTelefone;
private javax.swing.JComboBox JCNome;
private javax.swing.JButton JCancelar;
private javax.swing.JButton JNovo;
private javax.swing.JButton JSair;
private javax.swing.JButton JSalvar;
private javax.swing.JTextField TMatricula;
private javax.swing.JTextField TNTreina;
private javax.swing.JTextField TSetor;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JToolBar jToolBar1;
// End of variables declaration

}

otaviofcs

É igual para: Windows, MacOs, … write once, run everywhere…

Criado 14 de fevereiro de 2007
Ultima resposta 14 de fev. de 2007
Respostas 4
Participantes 5