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