JDBC ResultSet ofrece los métodos getObject, getInt, getString etc. y PreparedStatement tiene generadores análogos. Además del tipo de seguridad de tipo de tiempo de compilación, ¿los getters/setters específicos de tipo tienen (des) ventajas, o está bien usar getObject/setObject en todas partes?JDBC get/setObject vs. get/setSpecificType
7
A
Respuesta
5
No hay ventajas técnicas. Es posible que solo sean funcionalmente desventajosos si realiza la verificación de tipo/vaciado posteriormente.
Yo mismo uso ResultSet#getObject()
solo cuando el valor devuelto es una primitiva que tiene un DB-default en NULL
y el valor declarado es un envoltorio para la primitiva. P.ej. Integer age
:
user.setAge(resultSet.getObject("age") != null ? resultSet.getInt("age") : null);
Y uso PreparedStatement#setObject()
prácticamente todo el tiempo, en un método de utilidad:
public static void setValues(PreparedStatement preparedStatement, Object... values) throws SQLException {
for (int i = 0; i < values.length; i++) {
preparedStatement.setObject(i + 1, values[i]);
}
}
Cuestiones relacionadas
- 1. Spring JDBC vs JDBC
- 2. Diferencia entre Spring JDBC Vs Plain JDBC?
- 3. ORM Technologies vs JDBC?
- 4. JDBC portátil vs SQLite en Android
- 5. Conexión JDBC- Class.forName vs Class.forName(). NewInstance?
- 6. Soluciones ORM (JPA; Hibernate) vs. JDBC
- 7. sqljdbc: JDBC sqljdbc.jar controlador Vs sqljdbc4.jar
- 8. Spring Hibernate Vs jdbc template vs spring orm
- 9. Rendimiento Oracle y JDBC: INSERTAR TODOS vs preparedStatement.addBatch
- 10. multiproceso JDBC
- 11. Paginación JDBC
- 12. ¿Cómo funciona jdbc?
- 13. Unión interna SQLite/JDBC
- 14. Java - alternativas JDBC
- 15. Java JDBC ignora setFetchSize?
- 16. Python - Conexión a JDBC
- 17. Compatible con Android JDBC
- 18. Java: Oracle XMLType + JDBC
- 19. contenedor jdbc simple
- 20. ¿Cómo usa Hibernate JDBC?
- 21. Conexión JDBC segura
- 22. Codificación de caracteres JDBC
- 23. Java JDBC: Reply.fill()
- 24. Encontrar controladores JDBC instalados
- 25. Conexión JDBC colgando
- 26. lotes JDBC Insertar OutOfMemoryError
- 27. JDBC- postgres, conexión rechazada
- 28. Java JDBC SAVEPOINT
- 29. Conexión JDBC a SQL 2000 muy ocupado: selectMethod = cursor vs selectMethod = direct?
- 30. Python 3 - Conexión con JDBC