예제 #1
0
  public Produto buscar(Produto produto) {
    try {
      conexao = Conexao.abrirConexao(); // abre a conexão com o bd.

      /* depois ver essa porra

        if (this.getSchema()!=null && this.getSchema().equals("")) {
            Statement stm = conexao.createStatement();
            stm.execute("SET SCHEMA = "+this.getSchema());
        }

      */

      // PreparedStatemente é uma forma de fazer inserção no banco mais segura, onde você prepara os
      // parametros para serem inseridos.
      PreparedStatement ps =
          conexao.prepareStatement(
              "select IDCARGA, MERCADORIA, PESOTOTAL, VALORTOTAL, SITUACAO from PRODUTO where IDPRODUTO=?"); // pesquiso o id que o usuario digitou na tela e exibo o valor dos campos tabela para tal id
      ps.setInt(
          1, produto.getIDPRODUTO()); // obtenho o id digitado pelo usuario no banco e  seto no ps,

      ResultSet rs =
          ps
              .executeQuery(); // executequery e um metodo do preparedStatement, nossa querySQL e
                               // jogada para o executequery e apos, passamos ela para o resultset
                               // (executeQuery serve para fazer SELECT)

      while (rs.next()) { // percorre o resultset
        produto.setIdCarga(
            rs.getInt(
                "IDCARGA")); // obtenho os dados do banco e alimento a classe model (convertendo os
                             // valores).
        produto.setMercadoria(rs.getString("MERCADORIA"));
        produto.setPesoTotal(rs.getString("PESOTOTAL"));
        produto.setValorTotal(rs.getInt("VALORTOTAL"));
        produto.setSituacao(rs.getString("SITUACAO"));
      }

      // fecha os metodos e conexao; se as conexoes não forem fechadas da problemas com o banco.
      rs.close();
      ps.close();
      conexao.close();
    } catch (SQLException ex) { // trata o erro caso exista, a linguagem obriga a ter um tratamento.
      Logger.getLogger("DaoProduto").log(Level.SEVERE, "SQLException: {0}", ex.getMessage());
    }

    return produto;
  }