Duvida em como criar metodo primeiro, anterior, proximo, ultimo

Olá estou com dificuldade em criar alguns métodos (primeiro, anterior, próximo, ultimo), usando o Statement conseguiria fazendo algo assim…

private Connection con;
    private Statement stmt;
    private ResultSet rsNavegar;
    private Statement stmtNavegar;         

    public AlunoDAO() throws ClassNotFoundException, SQLException {
        con = FactoryConect.getConnection();
        stmt = con.createStatement();
        stmtNavegar = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
        rsNavegar = stmtNavegar.executeQuery("select * from aluno");
    }

    public Aluno primeiro() throws SQLException {

        if (rsNavegar.first()) {
            Aluno aluno = new Aluno();
            aluno.setCod(rsNavegar.getInt("cod"));
            aluno.setNome(rsNavegar.getString("nome"));
            aluno.setSobrenome(rsNavegar.getString("Sobrenome"));
            aluno.setIdCidade(rsNavegar.getInt("idcidade"));
            return aluno;
        } else {
            return null;
        }
    }

mas e com o prepareStatement tem como fazer ? se sim alguém pode dar um exemplo?

Com o preparedstatement você teria que preencher uma ArrayList de elementos, ao qual poderia percorrer usando um for each, ou usando o get(i).

public ArrayList<Aluno> buscaAlunos( ) thows SQLException{
    ArrayList<aluno> alunos = new ArrayList<>();
    while(rsNavegar.next()){
    Aluno aluno = new Aluno();
    aluno.setCod(rsNavegar.getInt("cod"));
    aluno.setNome(rsNavegar.getString("nome"));
    aluno.setSobrenome(rsNavegar.getString("Sobrenome"));
    aluno.setIdCidade(rsNavegar.getInt("idcidade"));
    alunos.add(aluno);

    }
    return alunos;
}

Usando Statement:

Statement stmtNavegar = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rsNavegar = stmtNavegar.executeQuery("select * from aluno");

Usando PreparedStatement:

PreparedStatement stmtNavegar = con.prepareStatement("select * from aluno");
ResultSet rsNavegar = stmtNavegar.executeQuery();
2 curtidas

Com o Statement eu consigo, mas como costumo usar mais o prepareStatement queria de saber como fazer com ele também…

Qual a dificuldade que você está encontrando em usar o PreparedStatement?

Pois nele você tem todos os métodos que precisa: first(), last(), next() e previous().

Também não entendi, explica melhor sua dificuldade.

Esses métodos são do ResultSet.

Me expressei mal, eu quis dizer que ele consegue utilizar esses métodos do resultset usando tanto o Statement como também o PreparedStatement.

1 curtida