Como eu no JDBC ler um valor duplo possivelmente nulo de resultSet?
Eu tenho uma coluna no meu banco de dados que é digitadodouble
e quero ler o valor dele usando um JDBC ResultSet, mas pode ser nulo. Qual a melhor maneira para fazer isto? Eu posso pensar em três opções, nenhuma das quais parece muito boa.
Opção 1: Ruim porque a manipulação de exceção verboso e malcheiroso
double d;
try {
d = rs.getDouble(1);
// do something
} catch(SQLException ex) {
if(rs.wasNull()) {
// do something else
} else {
throw ex;
}
}
Opção 2: Ruim porque duas buscas
s = rs.getString(1); // or getObject()
if(s == null) {
// do something else
} else {
double d = rs.getDouble(1);
// do something
}
Opção 3: Ruim porque o Java, em vez de conversão SQL
s = rs.getString(1); // or getObject()
if(s == null) {
// do something else
} else {
double d = Double.parseDouble(s);
// do something
}
Alguma sugestão sobre qual caminho é melhor, ou existe outra maneira superior? E por favor não diga "Use o Hibernate", estou restrito ao código JDBC somente aqui.