Hola:
Un ResultSet por defecto sólo se puede recorrer hacia delante. Si pones last(), ya no puedes volver al principio.
Para que el ResultSet sea "navegable" en ambos sentidos, en la llamada a createStatement tienes que pasar unas constantes que así lo indiquen (
echa un ojo a la API para poder ver posibles valores). Aun así, deberás verificar si el driver de MySQL soporta que el resultset sea "scrollable" (que es como creo que se llama a esa propiedad).
Se bueno.