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; }