How to make a control class for JDBC crud

0
  • How do I make a control class for a list method of my crud?
  • The method of my dao class will return all the data set that have the same city.
  • But this error occurs in my main class:

Daoclassmethod

publicList<ViagemBean>getListaDestino(StringnomeCidade){try{List<ViagemBean>viagens=newArrayList<ViagemBean>();ConexaoMySQL.conectar();PreparedStatementstmt=ConexaoMySQL.getConexao().prepareStatement("select * from viagem where cidade = ? ");

             stmt.setString(1, nomeCidade);  

          ResultSet rs = stmt.executeQuery();

          while (rs.next()) {
              // criando o objeto viagem
              ViagemBean viagem = new ViagemBean();
              viagem.setIdViagem(rs.getInt("idViagem"));
              viagem.setTipo(rs.getString("tipoViagem"));

              Calendar dataInicio = Calendar.getInstance();
              dataInicio.setTime(rs.getDate("dataInicio"));
              viagem.setDataInicio(dataInicio);

              Calendar dataF = Calendar.getInstance();
              dataF.setTime(rs.getDate("dataEncerramento"));
              viagem.setDataEncerramento(dataF);

              viagem.setCidade(rs.getString("cidade"));
              viagem.setUf(rs.getString("uf"));
              viagem.setValorDiaria(rs.getDouble("valorDiaria"));
              viagem.setColaborador(rs.getString("colaborador"));
              viagem.setCliente(rs.getString("cliente"));

              // adicionando o objeto à lista
              viagens.add(viagem);
          }
          rs.close();
          stmt.close();
          return viagens;
      } catch (SQLException e) {
          throw new RuntimeException(e);
      }
  }

}

Control class method

package controle;

import java.util.List;

import modelo.ViagemBean;
import modelo.ViagemDao;

public class Controle {


   public static List<ViagemBean> getListaViagensPorString(String nomeCidade) { 
       return new ViagemDao().getListaDestino(nomeCidade); }




}

MAIN class method

private static void listarViagemDestino() {
      ViagemDao dao = new ViagemDao();

      Controle controle = new Controle();


      String nomeCidade = JOptionPane.showInputDialog("Digite o nome de uma cidade:");

      List<ViagemBean> viagens = controle.getListaViagensPorString(nomeCidade);

      for (ViagemBean contato : viagens) {



          JOptionPane.showMessageDialog(null, 
                  ("IdViagem: " + contato.getIdViagem()+ "\n")
                  +("tipo: " + contato.getTipo()+ "\n")
                  +"Data de inicio: " + contato.getDataInicio().getTime() + "\n"
                  +("Data de fim: " + contato.getDataEncerramento().getTime() + "\n"
                  +("cidade: " + contato.getCidade()+ "\n")
                  +("uf: " + contato.getUf()+ "\n")
                  +("valor da diaria: " + contato.getValorDiaria()+ "\n")
                  +("colaborador: " + contato.getColaborador()+ "\n")
                  +("cliente: " + contato.getCliente()+ "\n")));


      }



  }


}
    
asked by anonymous 03.07.2015 / 21:04

1 answer

2

I've seen the following error on your main you're calling:

 Controle.getListaViagens("cidade", JOptionPane.showInputDialog("Digite o nome de uma cidade:"));

However, the method of your control does not receive parameters, you are trying to send two Strings as parameters:

public List<ViagemBean> getListaViagens() {
  return new ViagemDao().getListaDestino();}

The error message already tells you what the problem is.

    
03.07.2015 / 21:12