W jaki sposób w JDBC odczytać wartość null podwójną wartość z resultSet?
Mam wpisaną kolumnę w mojej bazie danychdouble
i chcę odczytać wartość z niego przy użyciu zestawu wyników JDBC, ale może on mieć wartość NULL. Jak najlepiej to zrobić? Mogę wymyślić trzy opcje, z których żadna nie wydaje się bardzo dobra.
Opcja 1: Zła, ponieważ obsługa wyjątków jest pełna i śmierdząca
double d;
try {
d = rs.getDouble(1);
// do something
} catch(SQLException ex) {
if(rs.wasNull()) {
// do something else
} else {
throw ex;
}
}
Opcja 2: Zła, ponieważ dwa pobrania
s = rs.getString(1); // or getObject()
if(s == null) {
// do something else
} else {
double d = rs.getDouble(1);
// do something
}
Opcja 3: Zła, ponieważ Java zamiast konwersji SQL
s = rs.getString(1); // or getObject()
if(s == null) {
// do something else
} else {
double d = Double.parseDouble(s);
// do something
}
Jakieś sugestie, w jaki sposób jest lepszy, czy jest inny lepszy sposób? I proszę, nie mów „Użyj Hibernacji”, jestem ograniczony tylko do kodu JDBC tutaj.