JDBC ResultSet предлагает getObject, getInt, getString и т.д. методы, и PreparedStatement имеет аналогичные методы set. Кроме безопасности типов времени компиляции типа, сделайте тип, определенные методы считывания/методы set имеют какой-либо (скидка) преимущества, или это в порядке для использования getObject/setObject везде?
Нет никаких реальных технических (дис) преимуществ. Они могут быть функционально невыгодными только в том случае, если вы потом сами выполняете проверку типов / преобразование.
Я сам использую ResultSet # getObject ()
только тогда, когда возвращаемое значение является примитивом, для которого по умолчанию DB установлено значение NULL
, а объявленное значение является оболочкой для примитива. Например. Целочисленный возраст
:
user.setAge(resultSet.getObject("age") != null ? resultSet.getInt("age") : null);
И я использую PreparedStatement # setObject ()
практически все время в служебном методе:
public static void setValues(PreparedStatement preparedStatement, Object... values) throws SQLException {
for (int i = 0; i < values.length; i++) {
preparedStatement.setObject(i + 1, values[i]);
}
}