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