Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Augusto G rocha

Java foreign key em pstm

Recommended Posts

Ola, preciso implementar um código de uma foreign key como no modelo 

package Persistencia;

import Entidades.TipoDeComportamento;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Augusto
 */
public class TipoDeComportamentoDAO extends Conexao implements InterFaceDAO<TipoDeComportamento> {

    @Override
    public void salvar(TipoDeComportamento tipodecomportamento) {

        String sqlInsert = "INSERT INTO TIPODECOMPORTAMENTO ( "
                + "CODIGO, "
                + "DESCRICAO "
                + ") VALUES (?,?);";

        if (pesquisarSeExisteOTipoDeComportamento(tipodecomportamento)) {

            System.out.print("Já existe um Tipo de Comportamento cadastrado com este Código no Banco de Dados. ");

            System.out.println("( " + tipodecomportamento.getCodigotipo() + " | " + buscarPorID(tipodecomportamento.getCodigotipo()).getDescricao() + " )");

        } else {

            try {
                pstm = abrirConexaoComBD().prepareStatement(sqlInsert);

                pstm.setInt(1, tipodecomportamento.getCodigotipo());
                pstm.setString(2, tipodecomportamento.getDescricao());

                pstm.execute();
                pstm.close();

                fecharConexaocomBD();

            } catch (SQLException e) {

                e.printStackTrace();
            }
        }

    }

    @Override
    public void deletar(TipoDeComportamento tipodecomportamento) {
 String sqlDeletar = "DELETE FROM TIPODECOMPORTAMENTO WHERE CODIGO = ?";

        try {

            pstm = abrirConexaoComBD().prepareStatement(sqlDeletar);
            pstm.setInt(1, tipodecomportamento.getCodigotipo());

            pstm.execute();
            pstm.close();
            fecharConexaocomBD();

        } catch (SQLException e) {

            e.printStackTrace();
        }
    }

    @Override
    public void update(TipoDeComportamento tipodecomportamento) {

        String sql = "UPDATE TIPODECOMPORTAMENTO SET DESCRICAO=? where CODIGO=?";

        try {

            pstm = abrirConexaoComBD().prepareStatement(sql);
            pstm.setString(1, tipodecomportamento.getDescricao());
            pstm.setInt(2, tipodecomportamento.getCodigotipo());
            pstm.execute();
            pstm.close();
            fecharConexaocomBD();

        } catch (SQLException e) {

            e.printStackTrace();
        }

    }

    @Override
    public TipoDeComportamento buscarPorID(Integer id) {

        String sqlPesquisarPorId = "SELECT * FROM TIPODECOMPORTAMENTO WHERE CODIGO = ?";
        TipoDeComportamento tipodecomportamento = new TipoDeComportamento();
        try {

            pstm = abrirConexaoComBD().prepareStatement(sqlPesquisarPorId);
            pstm.setInt(1, id);
            ResultSet list = pstm.executeQuery();
            while (list.next()) {

                tipodecomportamento.setCodigotipo(list.getInt("CODIGO"));
                tipodecomportamento.setDescricao(list.getString("DESCRICAO"));

            }

            pstm.close();
            list.close();
            fecharConexaocomBD();

        } catch (SQLException e) {

            e.printStackTrace();
        }
        return tipodecomportamento;
    }

    @Override
    public List<TipoDeComportamento> listarTodos() {

        String sql = "SELECT * FROM TIPODECOMPORTAMENTO";

        List<TipoDeComportamento> listadostiposdecomportamentos = new ArrayList<TipoDeComportamento>();

        try {

            pstm = abrirConexaoComBD().prepareStatement(sql);

            ResultSet lista = pstm.executeQuery();

            while (lista.next()) {

                TipoDeComportamento tipodecomportamento = new TipoDeComportamento();

                tipodecomportamento.setCodigotipo(lista.getInt("CODIGO"));

                tipodecomportamento.setDescricao(lista.getString("DESCRICAO"));

                listadostiposdecomportamentos.add(tipodecomportamento);

            }

            pstm.close();
            lista.close();
            fecharConexaocomBD();

        } catch (SQLException e) {

            e.printStackTrace();
        }

        return listadostiposdecomportamentos;
    }

    public boolean pesquisarSeExisteOTipoDeComportamento(TipoDeComportamento tipodecomportamento) {

        boolean teste = false;

        List<TipoDeComportamento> lista = listarTodos();

        for (TipoDeComportamento tipo : lista) {

            if (tipo.getCodigotipo().equals(tipodecomportamento.getCodigotipo())) {
                teste = true;

            }

        }

        return teste;

    }

}
package Persistencia;

import Entidades.Comportamento;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Augusto
 */
public class ComportamentoDAO extends Conexao implements InterFaceDAO<Comportamento> {
    
 TipoDeComportamentoDAO daotipodecomportamento = new TipoDeComportamentoDAO();

    @Override
    public void salvar(Comportamento comportamento) {
        if (pesquisarSeExisteOComportamento(comportamento)) {

            System.out.print("Já existe o comportamento cadastrado com este Código no Banco de Dados. ");

            System.out.println("( " + comportamento.getCodigo() + " | " + buscarPorID(comportamento.getCodigo()).getDescricao() + " )");

        } else {

            String sqlInsert = "INSERT INTO COMPORTAMENTO ("
                    + "CODIGODOCOMPORTAMENTO, " 
                    + "DESCRICAO, " 
                    + "TIPODECOMPORTAMENTO )"
                    + "VALUES (?,?,?);";

            try {
                pstm = abrirConexaoComBD().prepareStatement(sqlInsert);

                pstm.setInt(1, comportamento.getCodigo());
                pstm.setString(2, comportamento.getDescricao());
              
              // AQUI ---------------------------------------------------------------------------------------------------------------------------------
                pstm.setInt(3, comportamento.getTipodocomportamento().getCodigotipo());
              // AQUI ---------------------------------------------------------------------------------------------------------------------------------

                pstm.execute();
                pstm.close();

                fecharConexaocomBD();

            } catch (SQLException e) {

                e.printStackTrace();
            }

        }

    }

    @Override
    public void deletar(Comportamento entidade) {

        String sqlDeletar = "DELETE FROM COMPORTAMENTO WHERE CODIGO = ?";

        try {

            pstm = abrirConexaoComBD().prepareStatement(sqlDeletar);
            pstm.setInt(1, entidade.getCodigo());

            pstm.execute();
            pstm.close();
            fecharConexaocomBD();

        } catch (SQLException e) {

            e.printStackTrace();
        }

    }

    @Override
    public void update(Comportamento entidade) {

        String sql = "UPDATE COMPORTAMENTO SET " + "CODIGO=?, " + "DESCRICAO=?, " + "TIPODECOMPORTAMENTO=? " + "WHERE CODIGO=?";

        try {

            pstm = abrirConexaoComBD().prepareStatement(sql);
            pstm.setInt(1, entidade.getCodigo().get);
            pstm.setString(2, entidade.getDescricao());
            pstm.setInt(3, entidade.getTipodocomportamento().getCodigotipo());
            pstm.execute();
            pstm.close();
            fecharConexaocomBD();

        } catch (SQLException e) {

            e.printStackTrace();
        }

    }

    public Comportamento buscarPorID(Integer id) {

        String sqlPesquisarPorId = "SELECT * FROM COMPORTAMENTO WHERE CODIGO = ?";
        Comportamento comportamento = new Comportamento();

        try {

            pstm = abrirConexaoComBD().prepareStatement(sqlPesquisarPorId);
            pstm.setInt(1, id);
            ResultSet lista = pstm.executeQuery();

            while (lista.next()) {

                comportamento.setCodigo(lista.getInt("CODIGO"));
                comportamento.setDescricao(lista.getString("DESCRICAO"));
                comportamento.setTipodocomportamento(daotipodecomportamento.buscarPorID(lista.getInt("TIPODECOMPORTAMENTO")));

            }

            pstm.close();
            lista.close();
            fecharConexaocomBD();

        } catch (SQLException e) {

            e.printStackTrace();
        }
        return comportamento;

    }

    public List<Comportamento> listarTodos() {

        String sql = "SELECT * FROM COMPORTAMENTO";

        List<Comportamento> listadecomportamentos = new ArrayList<Comportamento>();

        try {

            pstm = abrirConexaoComBD().prepareStatement(sql);

            ResultSet lista = pstm.executeQuery();

            while (lista.next()) {

                Comportamento comportamento = new Comportamento();

                comportamento.setCodigo(lista.getInt("CODIGO"));

                comportamento.setDescricao(lista.getString("DESCRICAO"));

                comportamento.setTipodocomportamento(daotipodecomportamento.buscarPorID(lista.getInt("TIPODECOMPORTAMENTO")));

                listadecomportamentos.add(comportamento);

            }

            pstm.close();
            lista.close();
            fecharConexaocomBD();

        } catch (SQLException e) {

            e.printStackTrace();
        }

        return listadecomportamentos;
    }

    public boolean pesquisarSeExisteOComportamento(Comportamento comportamento) {

        boolean teste = false;

        List<Comportamento> lista = listarTodos();

        for (Comportamento tipo : lista) {

            if (tipo.getCodigo().equals(comportamento.getCodigo())) {

                teste = true;

            }

        }

        return teste;

    }

}

Não estou sabendo como funciona para extrair a sintaxe da entidade. colocar esse segundo get se alguém sobre onde tem uma explicação. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×