La diferencia entre los dos métodos en Spring JdbcTemplate
Básicamente, no hay diferencia en la eficiencia, porque su método uno aquí eventualmente se implementará sin el método dos, pero la matriz de parámetros que pase en el método uno lo ayudará a construir un PreparedStatementSetter y luego llamar a la implementación del método dos. un proceso de construcción en el medio. Si tiene requisitos particularmente altos para la eficiencia del método, ¡use el método dos!
Código fuente del método 1:
public int update(String sql, Object... args) lanza DataAdministrator(DataAdministrator)(String sql, Object...) args) lanza DataAccessException {
return update(sql, newArgPreparedStatementSetter(args)); // Este método llamado es el método dos en tu pregunta
}
Este método Así es como preguntar. protected PreparedStatementSetter newArgPreparedStatementSetter(Object[] args) {
return new ArgPreparedStatementSetter(args);
}
Este método es el método sobre el que preguntaste.