Вы можете сделать это.
Например,
preparedStatement = connection.prepareStatement(SQL_INSERT);
SqlUtil.setValues(preparedStatement, user.getName(), user.getPassword(), user.getAge());
с
public static void setValues(PreparedStatement preparedStatement, Object... values) throws SQLException {
for (int i = 0; i < values.length; i++) {
preparedStatement.setObject(i + 1, values[i]);
}
}
Драйвер JDBC выполнит проверку типа.Единственным недостатком может быть (незначительные) накладные расходы, но они незначительны по сравнению с лучшим обслуживаемым кодом, который вы в итоге получите.Кроме того, большинство платформ ORM, таких как Hibernate / JPA, также используют это глубоко под прикрытием.