TableView popula apenas um dado do banco

Estou com um problema de desenvolvimento, criei um Menu Item para listar todos os usuários cadastrado no meu sistema, porém, ele me retorna apenas 1 (um) dos meus dados do banco, que no caso, era para ser mais de 20 usuários.

Minha classe para pegar os dados do banco:

public List<Usuario> getUsuario() {
    Conexao con = new Conexao();

    String sql = "SELECT * FROM usuario ORDER BY nome";

    List<Usuario> usuarios = new ArrayList<Usuario>();

    List<Setor> setores = getSetor();
    Map<Integer, Setor> mapSetor = new HashMap<>();

    for(Setor setor : setores) {
        mapSetor.put(setor.getId(), setor);
    }

    List<TipoUsuario> tipoUsuarios = getTipoUsuario();
    Map<Integer, TipoUsuario> mapTipoUsuario = new HashMap<>();

    for (TipoUsuario tp : tipoUsuarios) {
        mapTipoUsuario.put(tp.getId(), tp);
    }

    ResultSet resultSet = con.ExecutaSelect(sql);

    if (resultSet != null ) {
        try {
            if (resultSet.next()) {
                int id = resultSet.getInt("id");
                String matric = resultSet.getString("matricula");
                String nome = resultSet.getString("nome");
                String senha = resultSet.getString("senha");
                int setor = resultSet.getInt("setor_id");
                int tp = resultSet.getInt("tipo_usuario_id");
                Usuario usuario = new Usuario();
                usuario.setId(id);
                usuario.setNome(nome);
                usuario.setMatricula(matric);
                usuario.setSetor(mapSetor.get(setor));
                usuario.setSenha(senha);
                usuario.setTipoUsuario(mapTipoUsuario.get(tp));
                usuarios.add(usuario);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    con.fecharConexao();
    return usuarios;
}

Minha classe da table view:

public ObservableList<Usuario> obUsuario;

@FXML
public void initialize() {

    nomeTableColumn.setCellValueFactory(param -> {
        return new SimpleObjectProperty(param.getValue().getNome());
    });

    matriculaTableColumn.setCellValueFactory(param -> {
        return new SimpleObjectProperty(param.getValue().getMatricula());
    });

    getData();
    populate();
}

public void populate() {
    List<Usuario> listaUsuarios = banco.getUsuario();
    usuarioTableView.getItems().clear();
    usuarioTableView.getItems().addAll(listaUsuarios);
}

Muito obrigado pela atenção!

Use um while aqui para ir repetindo até ler todas as linhas do resultado.

while(resultSet.next()) {

Meu amigo, eu NUNCA iria achar esse erro kkkkk, muito obrigado meu parceiro!!

1 curtida