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!