Ajudem me galera. como faço para mostrar minha pesquisa do banco de dados. Java e Mysql

public Funcionarios dadosFuncionario(Funcionarios nom) throws SQLException{
    PreparedStatement ps=null;
    ResultSet rs = null;
    
    String SQLconsulta = "SELECT nome,apelido,sexo,data_nasc,bi,nuit,grau_academico,provincia,distrito FROM funcionarios";
    
        ps = con.prepareStatement(SQLconsulta);
        ps.setString(1, nom.getNome());
        
        rs = ps.executeQuery(SQLconsulta);
        
        while(rs.next()){
            fnc.setNome(rs.getString("nome"));
            fnc.setApelido(rs.getString("apelido"));
            fnc.setSexo(rs.getString("sexo"));
            fnc.setDataNasc(rs.getString("data_nasc"));
            fnc.setBi(rs.getString("bi"));
            fnc.setNuit(rs.getInt("nuit"));
            fnc.setNivelacad(rs.getString("grau_academico"));
            fnc.setProvincia(rs.getString("provincia"));
            fnc.setDistrito(rs.getString("distrito"));
          
        }
        mostrarConsulta();
         
   
        System.out.println("Erro ao consultar");
    return fnc;
  
    }
   
 


public void mostrarConsulta(){
            
            System.out.println("nome: "+fnc.getNome());
            System.out.println("apelido: "+fnc.getApelido());
            System.out.println("sexo: "+fnc.getSexo());
            System.out.println("data de nascimento: "+fnc.getDataNasc());
            System.out.println("bi: "+fnc.getBi());
            System.out.println("nuit: "+fnc.getNuit());
            System.out.println("grau_academico: "+fnc.getNivelacad());
            System.out.println("provincia: "+fnc.getProvincia());
            System.out.println("distrito: "+fnc.getDistrito());
}

}

//Classe onde Chamo

public class Visual {

public int Menu() throws SQLException{
    JavaConexao jc = new JavaConexao();
            
    Scanner ler = new Scanner(System.in);
    FuncionarioCRUD fcr = new FuncionarioCRUD();
    Funcionarios fs = new Funcionarios();
    Leitura lt = new Leitura();
    
        int i = 0;

        System.out.println(" 1 - Cadastrar || 2 - Consultar ");
        System.out.println("_________________________________");
        System.out.println(" 3 - Excluir   || 4 - Actualizar");
        System.out.println("_________________________________");
        System.out.println("\t     5 - Sair ");
        System.out.println(" Seleccione a opção Desejada :  ");
        i = ler.nextInt();

        switch(i){
            
            case 1:
                 Leitura l = new Leitura();
                 l.Ler();
                     break;
            case 2:
                String nome;
                System.out.println("Digite o nome para a pesquisar: ");
                nome = ler.nextLine();
                if(nome != null){
                fcr.mostrarConsulta();
                }
                break;
            }
    
    
    return 0;
    
}

}

Para listar todos você tem como fazer de duas formas, primeira é no

você colocar um System.out.println(rs.getString(“nome”)); e fazer isso com cada um.

A outra forma é você ter uma variável do tipo lista, da pra usar HashMap, List, ArrayList, entre outros. Eu costumo usar o ArrayList, pois o seu retorno na consulta pelo visto apenas mostra o último dado inserido.

ele so fica piscando sem mostrar nada

Tem como você postar seu código inteiro? Pois só nesse tanto de código eu não vi erro, vou pegar seu código e testar aqui e faço as modificações até eu conseguir achar o erro, como fiz com uma pessoa em outro post. E quando eu achar o erro eu comento o que era, no último caso era um erro por estar fechando o banco antes de ler os dados e falta de bibliotecas.

Consegui resolver o Problema… valeu irmaos

so que estou com problemas em actualizar

 package Manipulacao;

  import Ajustes.Solucoes;
  import CRUD.ContactoCRUD;
  import Conexao.JavaConexao;
  import SistemaDAO.Contacto;
  import SistemaDAO.Departamento;
  import SistemaDAO.Funcao;
  import SistemaDAO.Funcionarios;
  import java.sql.Connection;
  import java.sql.PreparedStatement;
  import java.sql.SQLException;
  import java.util.Scanner;

                public class Actualizar {

      Funcionarios fc = new Funcionarios(); //instanciando a classe funcionarios, para usar seus atributos
    Scanner sc = new Scanner(System.in);
    ContactoCRUD cr = new ContactoCRUD();
    Contacto co = new Contacto();
    Departamento dp = new Departamento();
    Funcao fu = new Funcao();
    PreparedStatement ps = null;
    private Connection con=null;
    
public Actualizar() {
    con = JavaConexao.getConnection();
}

public boolean update() throws SQLException{
    
        System.out.println(" Digite o nome : ");
        String nom = sc.nextLine();
        
        if(nom.equals(nom)){
            System.out.println(" Actualize\n");
            Leitura le = new Leitura();
            le.Ler();
        } else
            System.out.println("Registo não encontrado");
        
        
    String SQLupdateF = "UPDATE funcionario SET nome=?,apelido=?,sexo=?,data_nasc=?,bi=?,nuit=?,grau_academico=?,provincia=?,distrito=? where nome=?";
    String SQLupdateC = "UPDATE contacto SET nr_telefone=?,email=?";
    String SQLupdateD = "UPDATE departamento SET id_dep=?,nome=?";
    String SQLupdatefuncao = "UPDATE funcao SET id_funcao=?,funcao=?";
    
    try {
        PreparedStatement psC = con.prepareStatement(SQLupdateC);
        PreparedStatement psD = con.prepareStatement(SQLupdateD);
        PreparedStatement psfun = con.prepareStatement(SQLupdatefuncao);
        
        ps = con.prepareStatement(SQLupdateF);
        ps.setString(1, fc.getNome());
        ps.setString(2, fc.getApelido());
        ps.setString(3, fc.getSexo());
        ps.setString(4, Solucoes.ConverterData(fc.getDataNasc()));
        ps.setString(5,fc.getBi());
        ps.setInt(6, fc.getNuit());
        ps.setString(7, fc.getNivelacad());
        ps.setString(8, fc.getProvincia());
        ps.setString(9, fc.getDistrito());
        psC.setString(10, co.getTelefone());
        psC.setString(11, co.getEmail());
        psD.setString(12, dp.getCodDep());
        psD.setString(13, dp.getNomeDep());
        psfun.setString(13, fu.getCodFunc());
        psfun.setString(15, fu.getNomeFunc());
        psC.executeUpdate();
        psD.executeUpdate();
        psfun.executeUpdate();
        int verifica = ps.executeUpdate();
        if(verifica>0){
            System.out.println("Actualizado com sucesso!!");
            return true;
    }else
            return false;
        } catch (SQLException e) {
            
            System.out.println("Erro ao gravar funcionarios"); 
    }
        return false;
}
public void dados(){
    
}

}

o número 13 está repetindo 2 vezes.