JDBC get/setObject по сравнению с get/setSpecificType

JDBC ResultSet предлагает getObject, getInt, getString и т.д. методы, и PreparedStatement имеет аналогичные методы set. Кроме безопасности типов времени компиляции типа, сделайте тип, определенные методы считывания/методы set имеют какой-либо (скидка) преимущества, или это в порядке для использования getObject/setObject везде?

8
задан BalusC 30 March 2010 в 11:47
поделиться

1 ответ

Нет никаких реальных технических (дис) преимуществ. Они могут быть функционально невыгодными только в том случае, если вы потом сами выполняете проверку типов / преобразование.

Я сам использую 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]);
    }
}
6
ответ дан 5 December 2019 в 22:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: