Resultset retornar um unico registro

Como eu faço uma consulta no banco via JDBC para que ele me retorne somente um resultado, tipo se eu pesquiso no banco um registro pelo ID, é logico que ele vai me retornar um resultado, mas pelo PreparedStatement eu consigo retornar um ResultSet, ai eu tenho que fazer um laço while pra varrer todos os resultados, que já sei que vai ser somente um. Eu sei que com hibernate eu tenho o uniqueResult que faz isso, a duvida é se com JDBC eu tenho como fazer o mesmo.

Eu faria assim:

...
ResultSet rs = preparedStatement.executeQuery();
if( !rs.next() )
    // Nenhum registro
else
{
     // processar
}
...

Faria como o colega acima fez, só reduziria um pouco o código…rs

...  
ResultSet rs = preparedStatement.executeQuery();  
if( rs.next() )  
   //retorna objeto 
}  
... 

Valeuz…

Se vc adotar essa abordagem, não esqueça de, na sua query, colocar um limit 1 ou top 1 para evitar muitos registros desnecessários. Se sua aplicação for web e seu BD não ficar no mesmo servidor da sua aplicação, isso vai gerar tráfego desnecessário na rede.

Se vc buscar apenas um campo (ou poucos) e usar procedures no SGBD, vc pode usar parâmetros out para obter seus dados.