Retornando ID gerado pelo banco de dados atraves do DAO e JTextField

Java

18/10/2014

Olá estou com uma duvida sobre como retorna um id de uma tabela contem auto_incremento sql!

tenho 1 jFrame nome FrmCadPessoa nela contem jtextfield, jlabel e jbutton. tenho 1 Class Pessoa contem pes_id e pes_nome tenho 1 Class PessoaDAO com metodo passado parametro (Pessoa pessoa), veja o exemplo logo abaixo

FrmCadPessoa
    private void jBtnSalvarActionPerformed(java.awt.event.ActionEvent evt) {                                           
     try{
       Conexao con = new Conexao();
       con.abriConexao();

       Pessoa pessoa = new Pessoa();
       PessoaDAO pessoaDAO = new PessoaDAO();
       pessoa.setPesNome(jTextFieldNome.getText());
       pessoaDAO.inserir(pessoa);

        } catch (SQLException ex) {
            Logger.getLogger(FrmCadPessoa.class.getName()).log(Level.SEVERE, null, ex);
        }
    }


Class Pessoa

package modelo;

public class Pessoa {

    private int PesID;
    private String PesNome;

    public int getPesID() {
        return PesID;
    }

    public void setPesID(int PesID) {
        this.PesID = PesID;
    }

    public String getPesNome() {
        return PesNome;
    }

    public void setPesNome(String PesNome) {
        this.PesNome = PesNome;
    }
}


o ID gerado pelo banco de dados atraves do DAO
up 0 down

Olá estou com uma duvida sobre como retorna um id de uma tabela contem auto_incremento sql!

tenho 1 jForme nome FrmCadPessoa nela contem jtextfield, jlabel e jbutton. tenho 1 Class Pessoa contem pes_id e pes_nome tenho 1 Class PessoaDAO com metodo passado parametro (Pessoa pessoa), veja o exemplo logo abaixo

FrmCadPessoa
    private void jBtnSalvarActionPerformed(java.awt.event.ActionEvent evt) {                                           
     try{
       Conexao con = new Conexao();
       con.abriConexao();

       Pessoa pessoa = new Pessoa();
       PessoaDAO pessoaDAO = new PessoaDAO();
       pessoa.setPesNome(jTextFieldNome.getText());
       pessoaDAO.inserir(pessoa);

        } catch (SQLException ex) {
            Logger.getLogger(FrmCadPessoa.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

Class Pessoa

package modelo;

public class Pessoa {

    private int PesID;
    private String PesNome;

    public int getPesID() {
        return PesID;
    }

    public void setPesID(int PesID) {
        this.PesID = PesID;
    }

    public String getPesNome() {
        return PesNome;
    }

    public void setPesNome(String PesNome) {
        this.PesNome = PesNome;
    }
}

PessoaDAO
package modelo;

import conexao.Conexao;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class PessoaDAO {
     Conexao conexao = new Conexao();

    public void inserir(Pessoa pessoa) throws SQLException{

        conexao.abriConexao();
        String sql = "insert into pessoa1 (pes_nome) values (?)";
        PreparedStatement pst = conexao.con.prepareStatement(sql);       

        pst.setString(1,pessoa.getPesNome());

        Object resultado = pst.execute();

        if(resultado != null){
            JOptionPane.showMessageDialog(null,"Cadastrado Sucesso! "+pessoa.getPesNome());
        }  
    }
}


como eu vou retorna um ID gerado pelo postgreSQL para jtextFieldCodigo??
Diego Angelo

Diego Angelo

Curtidas 0

Respostas

Ronaldo Lanhellas

Ronaldo Lanhellas

18/10/2014

Olá estou com uma duvida sobre como retorna um id de uma tabela contem auto_incremento sql!

tenho 1 jFrame nome FrmCadPessoa nela contem jtextfield, jlabel e jbutton. tenho 1 Class Pessoa contem pes_id e pes_nome tenho 1 Class PessoaDAO com metodo passado parametro (Pessoa pessoa), veja o exemplo logo abaixo

FrmCadPessoa
    private void jBtnSalvarActionPerformed(java.awt.event.ActionEvent evt) {                                           
     try{
       Conexao con = new Conexao();
       con.abriConexao();

       Pessoa pessoa = new Pessoa();
       PessoaDAO pessoaDAO = new PessoaDAO();
       pessoa.setPesNome(jTextFieldNome.getText());
       pessoaDAO.inserir(pessoa);

        } catch (SQLException ex) {
            Logger.getLogger(FrmCadPessoa.class.getName()).log(Level.SEVERE, null, ex);
        }
    }


Class Pessoa

package modelo;

public class Pessoa {

    private int PesID;
    private String PesNome;

    public int getPesID() {
        return PesID;
    }

    public void setPesID(int PesID) {
        this.PesID = PesID;
    }

    public String getPesNome() {
        return PesNome;
    }

    public void setPesNome(String PesNome) {
        this.PesNome = PesNome;
    }
}


o ID gerado pelo banco de dados atraves do DAO
up 0 down

Olá estou com uma duvida sobre como retorna um id de uma tabela contem auto_incremento sql!

tenho 1 jForme nome FrmCadPessoa nela contem jtextfield, jlabel e jbutton. tenho 1 Class Pessoa contem pes_id e pes_nome tenho 1 Class PessoaDAO com metodo passado parametro (Pessoa pessoa), veja o exemplo logo abaixo

FrmCadPessoa
    private void jBtnSalvarActionPerformed(java.awt.event.ActionEvent evt) {                                           
     try{
       Conexao con = new Conexao();
       con.abriConexao();

       Pessoa pessoa = new Pessoa();
       PessoaDAO pessoaDAO = new PessoaDAO();
       pessoa.setPesNome(jTextFieldNome.getText());
       pessoaDAO.inserir(pessoa);

        } catch (SQLException ex) {
            Logger.getLogger(FrmCadPessoa.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

Class Pessoa

package modelo;

public class Pessoa {

    private int PesID;
    private String PesNome;

    public int getPesID() {
        return PesID;
    }

    public void setPesID(int PesID) {
        this.PesID = PesID;
    }

    public String getPesNome() {
        return PesNome;
    }

    public void setPesNome(String PesNome) {
        this.PesNome = PesNome;
    }
}

PessoaDAO
package modelo;

import conexao.Conexao;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class PessoaDAO {
     Conexao conexao = new Conexao();

    public void inserir(Pessoa pessoa) throws SQLException{

        conexao.abriConexao();
        String sql = "insert into pessoa1 (pes_nome) values (?)";
        PreparedStatement pst = conexao.con.prepareStatement(sql);       

        pst.setString(1,pessoa.getPesNome());

        Object resultado = pst.execute();

        if(resultado != null){
            JOptionPane.showMessageDialog(null,"Cadastrado Sucesso! "+pessoa.getPesNome());
        }  
    }
}


como eu vou retorna um ID gerado pelo postgreSQL para jtextFieldCodigo??


Você poderia realizar um outro SELECT para retornar o último ID inserido no banco, veja:

        String sql = "SELECT max(pes_id) FROM pessoa1";
        Statement st = conexao.con.createStatement();       


        ResultSet rs = st.executeQuery(sql);
GOSTEI 0
POSTAR