diff --git a/org.springframework.jdbc/src/main/java/org/springframework/jdbc/core/simple/SimpleJdbcOperations.java b/org.springframework.jdbc/src/main/java/org/springframework/jdbc/core/simple/SimpleJdbcOperations.java index 7c5cfe9b06..a7355a3257 100644 --- a/org.springframework.jdbc/src/main/java/org/springframework/jdbc/core/simple/SimpleJdbcOperations.java +++ b/org.springframework.jdbc/src/main/java/org/springframework/jdbc/core/simple/SimpleJdbcOperations.java @@ -151,11 +151,11 @@ public interface SimpleJdbcOperations { /** * Query for an object of type T using the supplied - * {@link ParameterizedRowMapper} to the query results to the object. + * {@link RowMapper} to the query results to the object. * Uses sql with the named parameter support provided by the * {@link org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate} * @param sql the SQL query to run - * @param rm the @{@link ParameterizedRowMapper} to use for result mapping + * @param rm the @{@link RowMapper} to use for result mapping * @param args the map containing the arguments for the query * @see JdbcOperations#queryForObject(String, org.springframework.jdbc.core.RowMapper) * @see JdbcOperations#queryForObject(String, Object[], org.springframework.jdbc.core.RowMapper) @@ -170,6 +170,23 @@ public interface SimpleJdbcOperations { * {@link org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate} * @param sql the SQL query to run * @param rm the @{@link ParameterizedRowMapper} to use for result mapping + * @param args the map containing the arguments for the query + * @see JdbcOperations#queryForObject(String, org.springframework.jdbc.core.RowMapper) + * @see JdbcOperations#queryForObject(String, Object[], org.springframework.jdbc.core.RowMapper) + * @deprecated as of Spring 3.0: Use the method using the newly genericized RowMapper interface + * instead since the RowMapper and ParameterizedRowMapper interfaces are equivalent now. + */ + @Deprecated + T queryForObject(String sql, ParameterizedRowMapper rm, Map args) + throws DataAccessException; + + /** + * Query for an object of type T using the supplied + * {@link RowMapper} to the query results to the object. + * Uses sql with the named parameter support provided by the + * {@link org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate} + * @param sql the SQL query to run + * @param rm the @{@link RowMapper} to use for result mapping * @param args the SqlParameterSource containing the arguments for the query * @see JdbcOperations#queryForObject(String, org.springframework.jdbc.core.RowMapper) * @see JdbcOperations#queryForObject(String, Object[], org.springframework.jdbc.core.RowMapper) @@ -180,9 +197,26 @@ public interface SimpleJdbcOperations { /** * Query for an object of type T using the supplied * {@link ParameterizedRowMapper} to the query results to the object. - * Uses sql with the standard '?' placeholders for parameters + * Uses sql with the named parameter support provided by the + * {@link org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate} * @param sql the SQL query to run * @param rm the @{@link ParameterizedRowMapper} to use for result mapping + * @param args the SqlParameterSource containing the arguments for the query + * @see JdbcOperations#queryForObject(String, org.springframework.jdbc.core.RowMapper) + * @see JdbcOperations#queryForObject(String, Object[], org.springframework.jdbc.core.RowMapper) + * @deprecated as of Spring 3.0: Use the method using the newly genericized RowMapper interface + * instead since the RowMapper and ParameterizedRowMapper interfaces are equivalent now. + */ + @Deprecated + T queryForObject(String sql, ParameterizedRowMapper rm, SqlParameterSource args) + throws DataAccessException; + + /** + * Query for an object of type T using the supplied + * {@link RowMapper} to the query results to the object. + * Uses sql with the standard '?' placeholders for parameters + * @param sql the SQL query to run + * @param rm the @{@link RowMapper} to use for result mapping * @param args the variable number of arguments for the query * @see JdbcOperations#queryForObject(String, org.springframework.jdbc.core.RowMapper) * @see JdbcOperations#queryForObject(String, Object[], org.springframework.jdbc.core.RowMapper) @@ -190,13 +224,29 @@ public interface SimpleJdbcOperations { T queryForObject(String sql, RowMapper rm, Object... args) throws DataAccessException; + /** + * Query for an object of type T using the supplied + * {@link ParameterizedRowMapper} to the query results to the object. + * Uses sql with the standard '?' placeholders for parameters + * @param sql the SQL query to run + * @param rm the @{@link ParameterizedRowMapper} to use for result mapping + * @param args the variable number of arguments for the query + * @see JdbcOperations#queryForObject(String, org.springframework.jdbc.core.RowMapper) + * @see JdbcOperations#queryForObject(String, Object[], org.springframework.jdbc.core.RowMapper) + * @deprecated as of Spring 3.0: Use the method using the newly genericized RowMapper interface + * instead since the RowMapper and ParameterizedRowMapper interfaces are equivalent now. + */ + @Deprecated + T queryForObject(String sql, ParameterizedRowMapper rm, Object... args) + throws DataAccessException; + /** * Query for a {@link List} of Objects of type T using - * the supplied {@link ParameterizedRowMapper} to the query results to the object. + * the supplied {@link RowMapper} to the query results to the object. * Uses sql with the named parameter support provided by the * {@link org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate} * @param sql the SQL query to run - * @param rm the @{@link ParameterizedRowMapper} to use for result mapping + * @param rm the @{@link RowMapper} to use for result mapping * @param args the map containing the arguments for the query * @see JdbcOperations#queryForObject(String, org.springframework.jdbc.core.RowMapper) * @see JdbcOperations#queryForObject(String, Object[], org.springframework.jdbc.core.RowMapper) @@ -211,6 +261,23 @@ public interface SimpleJdbcOperations { * {@link org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate} * @param sql the SQL query to run * @param rm the @{@link ParameterizedRowMapper} to use for result mapping + * @param args the map containing the arguments for the query + * @see JdbcOperations#queryForObject(String, org.springframework.jdbc.core.RowMapper) + * @see JdbcOperations#queryForObject(String, Object[], org.springframework.jdbc.core.RowMapper) + * @deprecated as of Spring 3.0: Use the method using the newly genericized RowMapper interface + * instead since the RowMapper and ParameterizedRowMapper interfaces are equivalent now. + */ + @Deprecated + List query(String sql, ParameterizedRowMapper rm, Map args) + throws DataAccessException; + + /** + * Query for a {@link List} of Objects of type T using + * the supplied {@link RowMapper} to the query results to the object. + * Uses sql with the named parameter support provided by the + * {@link org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate} + * @param sql the SQL query to run + * @param rm the @{@link RowMapper} to use for result mapping * @param args the SqlParameterSource containing the arguments for the query * @see JdbcOperations#queryForObject(String, org.springframework.jdbc.core.RowMapper) * @see JdbcOperations#queryForObject(String, Object[], org.springframework.jdbc.core.RowMapper) @@ -221,9 +288,26 @@ public interface SimpleJdbcOperations { /** * Query for a {@link List} of Objects of type T using * the supplied {@link ParameterizedRowMapper} to the query results to the object. - * Uses sql with the standard '?' placeholders for parameters + * Uses sql with the named parameter support provided by the + * {@link org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate} * @param sql the SQL query to run * @param rm the @{@link ParameterizedRowMapper} to use for result mapping + * @param args the SqlParameterSource containing the arguments for the query + * @see JdbcOperations#queryForObject(String, org.springframework.jdbc.core.RowMapper) + * @see JdbcOperations#queryForObject(String, Object[], org.springframework.jdbc.core.RowMapper) + * @deprecated as of Spring 3.0: Use the method using the newly genericized RowMapper interface + * instead since the RowMapper and ParameterizedRowMapper interfaces are equivalent now. + */ + @Deprecated + List query(String sql, ParameterizedRowMapper rm, SqlParameterSource args) + throws DataAccessException; + + /** + * Query for a {@link List} of Objects of type T using + * the supplied {@link RowMapper} to the query results to the object. + * Uses sql with the standard '?' placeholders for parameters + * @param sql the SQL query to run + * @param rm the @{@link RowMapper} to use for result mapping * @param args the variable number of arguments for the query * @see JdbcOperations#queryForObject(String, org.springframework.jdbc.core.RowMapper) * @see JdbcOperations#queryForObject(String, Object[], org.springframework.jdbc.core.RowMapper) @@ -231,6 +315,22 @@ public interface SimpleJdbcOperations { List query(String sql, RowMapper rm, Object... args) throws DataAccessException; + /** + * Query for a {@link List} of Objects of type T using + * the supplied {@link ParameterizedRowMapper} to the query results to the object. + * Uses sql with the standard '?' placeholders for parameters + * @param sql the SQL query to run + * @param rm the @{@link ParameterizedRowMapper} to use for result mapping + * @param args the variable number of arguments for the query + * @see JdbcOperations#queryForObject(String, org.springframework.jdbc.core.RowMapper) + * @see JdbcOperations#queryForObject(String, Object[], org.springframework.jdbc.core.RowMapper) + * @deprecated as of Spring 3.0: Use the method using the newly genericized RowMapper interface + * instead since the RowMapper and ParameterizedRowMapper interfaces are equivalent now. + */ + @Deprecated + List query(String sql, ParameterizedRowMapper rm, Object... args) + throws DataAccessException; + /** * Execute the supplied query with the supplied arguments. *

The query is expected to be a single row query; the result row will be diff --git a/org.springframework.jdbc/src/main/java/org/springframework/jdbc/core/simple/SimpleJdbcTemplate.java b/org.springframework.jdbc/src/main/java/org/springframework/jdbc/core/simple/SimpleJdbcTemplate.java index d350a2dd37..c52a73be22 100644 --- a/org.springframework.jdbc/src/main/java/org/springframework/jdbc/core/simple/SimpleJdbcTemplate.java +++ b/org.springframework.jdbc/src/main/java/org/springframework/jdbc/core/simple/SimpleJdbcTemplate.java @@ -151,12 +151,25 @@ public class SimpleJdbcTemplate implements SimpleJdbcOperations { return getNamedParameterJdbcOperations().queryForObject(sql, args, rm); } + @SuppressWarnings("unchecked") + @Deprecated + public T queryForObject(String sql, ParameterizedRowMapper rm, Map args) throws DataAccessException { + return queryForObject(sql, (RowMapper) rm, args); + } + @SuppressWarnings("unchecked") public T queryForObject(String sql, RowMapper rm, SqlParameterSource args) throws DataAccessException { return getNamedParameterJdbcOperations().queryForObject(sql, args, rm); } + @SuppressWarnings("unchecked") + @Deprecated + public T queryForObject(String sql, ParameterizedRowMapper rm, SqlParameterSource args) + throws DataAccessException { + return queryForObject(sql, (RowMapper) rm, args); + } + @SuppressWarnings("unchecked") public T queryForObject(String sql, RowMapper rm, Object... args) throws DataAccessException { return (ObjectUtils.isEmpty(args) ? @@ -164,17 +177,36 @@ public class SimpleJdbcTemplate implements SimpleJdbcOperations { getJdbcOperations().queryForObject(sql, getArguments(args), rm)); } + @SuppressWarnings("unchecked") + @Deprecated + public T queryForObject(String sql, ParameterizedRowMapper rm, Object... args) throws DataAccessException { + return queryForObject(sql, (RowMapper)rm, args); + } + @SuppressWarnings("unchecked") public List query(String sql, RowMapper rm, Map args) throws DataAccessException { return getNamedParameterJdbcOperations().query(sql, args, rm); } + @SuppressWarnings("unchecked") + @Deprecated + public List query(String sql, ParameterizedRowMapper rm, Map args) throws DataAccessException { + return query(sql, (RowMapper)rm, args); + } + @SuppressWarnings("unchecked") public List query(String sql, RowMapper rm, SqlParameterSource args) throws DataAccessException { return getNamedParameterJdbcOperations().query(sql, args, rm); } + @SuppressWarnings("unchecked") + @Deprecated + public List query(String sql, ParameterizedRowMapper rm, SqlParameterSource args) + throws DataAccessException { + return query(sql, (RowMapper)rm, args); + } + @SuppressWarnings("unchecked") public List query(String sql, RowMapper rm, Object... args) throws DataAccessException { return (ObjectUtils.isEmpty(args) ? @@ -182,6 +214,12 @@ public class SimpleJdbcTemplate implements SimpleJdbcOperations { getJdbcOperations().query(sql, getArguments(args), rm)); } + @SuppressWarnings("unchecked") + @Deprecated + public List query(String sql, ParameterizedRowMapper rm, Object... args) throws DataAccessException { + return query(sql, (RowMapper)rm, args); + } + @SuppressWarnings("unchecked") public Map queryForMap(String sql, Map args) throws DataAccessException { return getNamedParameterJdbcOperations().queryForMap(sql, args);