public List<Pessoa> buscar(Pessoa filtro) throws Exception {
        try {

            String sql = "select * from pessoa ";
            String where = "";

            if (filtro.getNome().length() > 0) {
                where = "nome like '%" + filtro.getNome() + "%'";
            }

            /* if (filtro.getValor() > 0) {
             if(where.length() > 0) 
             where = where + " and ";
             where = where + " valor = " + filtro.getValor();
             }*/
            if (filtro.getDataNascimento() != null) {
                if (where.length() > 0) {
                    where += "and";
                    where = where + " dataNascimento= " + filtro.getDataNascimento();

                }
            }
                if (filtro.getCodigo() > 0) {
                    if (where.length() > 0) {
                        where = where + " and ";
                        where = where + " CodPessoa = " + filtro.getCodigo();
                    }
                }

                if (where.length() > 0) {
                    sql = sql + " where " + where;
                }

                Statement comando = getConexao().createStatement();

                ResultSet resultado = comando.executeQuery(sql);
                // Cria uma lista de produtos vazia
                List<Pessoa> pessoas = new LinkedList<>();
                while (resultado.next()) {
                    // Inicializa um objeto de produto vazio
                    Pessoa tmp = new Pessoa();
                    // Pega os valores do retorno da consulta e coloca no objeto
                    tmp.setCodigo(resultado.getInt("codPessoa"));
                    tmp.setNome(resultado.getString("nome"));
                    tmp.setDataNascimento(resultado.getDate("dataNascimento"));
                    //tmp.setValor(resultado.getDouble("valor"));
                    // Pega o objeto e coloca na lista
                    pessoas.add(tmp);
                }
                return pessoas;
            }  catch (SQLException ex) {
            Logger.getLogger(ProdutoDAO.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }


    }