¿Cómo obtener el número de registros devueltos en un ResultSet?

En Java 6 no hay un método directo que permita obtener el número de registros por una consulta. Hay diferentes formas, pero aquí vamos a describir la más elegantes (a mi humilde entender).

 

Es muy sencillo. Instaciamos el objeto Statement de la siguiente forma:

Session session;

Connection connection;

Statement statement;

/*

[... nos conectamos a la base de datos ...]

*/

//En este caso devolveremos un resultset por el que nos podamos desplazar (ResultSet.TYPE_SCROLL_INSENSITIVE) y no actualizable (ResultSet.CONCUR_READ_ONLY)

Statement statement = session.connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

Resultset resultSet = statement.executeQuery("SELECT * FROM MI TABLA");
//Si la consulta ha devuelto registros if( resultSet.last ){ //Obtenemos el númeo de registro de la última fila int totalRegistros = resultSet.getRow(); //Nos volvemos a posicionar antes de la primera fila para poder tratar el resultset resultSet.beforeFirst(); }

 Con el código anterior resolvemos el problemilla se saber cuantos registros devuelve la consulta que hagamos

 

 

 

Scroll al inicio