public class

SimpleJdbcTemplate

extends Object
implements SimpleJdbcOperations
java.lang.Object
   ↳ org.springframework.jdbc.core.simple.SimpleJdbcTemplate

Class Overview

Java-5-based convenience wrapper for the classic Spring JdbcTemplate, taking advantage of varargs and autoboxing, and exposing only the most commonly required operations in order to simplify JdbcTemplate usage.

Use the getJdbcOperations() method (or a straight JdbcTemplate) if you need to invoke less commonly used template methods. This includes any methods specifying SQL types, methods using less commonly used callbacks such as RowCallbackHandler, updates with PreparedStatementSetters rather than argument arrays, and stored procedures as well as batch operations.

Summary

Public Constructors
SimpleJdbcTemplate(DataSource dataSource)
Create a new SimpleJdbcTemplate for the given DataSource.
SimpleJdbcTemplate(JdbcOperations classicJdbcTemplate)
Create a new SimpleJdbcTemplate for the given classic Spring JdbcTemplate.
SimpleJdbcTemplate(NamedParameterJdbcOperations namedParameterJdbcTemplate)
Create a new SimpleJdbcTemplate for the given Spring NamedParameterJdbcTemplate.
Public Methods
int[] batchUpdate(String sql, SqlParameterSource[] batchArgs)
Execute a batch using the supplied SQL statement with the batch of supplied arguments.
int[] batchUpdate(String sql, List<Object[]> batchArgs, int[] argTypes)
Execute a batch using the supplied SQL statement with the batch of supplied arguments.
int[] batchUpdate(String sql, Map[]<String, ?> batchValues)
Executes a batch using the supplied SQL statement with the batch of supplied arguments.
int[] batchUpdate(String sql, List<Object[]> batchArgs)
Execute a batch using the supplied SQL statement with the batch of supplied arguments.
JdbcOperations getJdbcOperations()
Expose the classic Spring JdbcTemplate to allow invocation of less commonly used methods.
NamedParameterJdbcOperations getNamedParameterJdbcOperations()
Expose the Spring NamedParameterJdbcTemplate to allow invocation of less commonly used methods.
<T> List<T> query(String sql, ParameterizedRowMapper<T> rm, Object... args)
Query for a List of Objects of type T using the supplied ParameterizedRowMapper to the query results to the object.
<T> List<T> query(String sql, RowMapper<T> rm, SqlParameterSource args)
Query for a List of Objects of type T using the supplied RowMapper to the query results to the object.
<T> List<T> query(String sql, RowMapper<T> rm, Map<String, ?> args)
Query for a List of Objects of type T using the supplied RowMapper to the query results to the object.
<T> List<T> query(String sql, RowMapper<T> rm, Object... args)
Query for a List of Objects of type T using the supplied RowMapper to the query results to the object.
<T> List<T> query(String sql, ParameterizedRowMapper<T> rm, Map<String, ?> args)
Query for a List of Objects of type T using the supplied ParameterizedRowMapper to the query results to the object.
<T> List<T> query(String sql, ParameterizedRowMapper<T> rm, SqlParameterSource args)
Query for a List of Objects of type T using the supplied ParameterizedRowMapper to the query results to the object.
int queryForInt(String sql, SqlParameterSource args)
Query for an int passing in a SQL query using the named parameter support provided by the NamedParameterJdbcTemplate and a SqlParameterSource containing the arguments.
int queryForInt(String sql, Map<String, ?> args)
Query for an int passing in a SQL query using the named parameter support provided by the NamedParameterJdbcTemplate and a map containing the arguments.
int queryForInt(String sql, Object... args)
Query for an int passing in a SQL query using the standard '?' placeholders for parameters and a variable number of arguments.
List<Map<StringObject>> queryForList(String sql, SqlParameterSource args)
Execute the supplied query with the supplied arguments.
List<Map<StringObject>> queryForList(String sql, Map<String, ?> args)
Execute the supplied query with the supplied arguments.
List<Map<StringObject>> queryForList(String sql, Object... args)
Execute the supplied query with the (optional) supplied arguments.
long queryForLong(String sql, SqlParameterSource args)
Query for an long passing in a SQL query using the named parameter support provided by the NamedParameterJdbcTemplate and a SqlParameterSource containing the arguments.
long queryForLong(String sql, Map<String, ?> args)
Query for an long passing in a SQL query using the named parameter support provided by the NamedParameterJdbcTemplate and a map containing the arguments.
long queryForLong(String sql, Object... args)
Query for an long passing in a SQL query using the standard '?' placeholders for parameters and a variable number of arguments.
Map<StringObject> queryForMap(String sql, Object... args)
Execute the supplied query with the (optional) supplied arguments.
Map<StringObject> queryForMap(String sql, SqlParameterSource args)
Execute the supplied query with the supplied arguments.
Map<StringObject> queryForMap(String sql, Map<String, ?> args)
Execute the supplied query with the supplied arguments.
<T> T queryForObject(String sql, Class<T> requiredType, Map<String, ?> args)
Query for an object of type T identified by the supplied @Class.
<T> T queryForObject(String sql, RowMapper<T> rm, Object... args)
Query for an object of type T using the supplied RowMapper to the query results to the object.
<T> T queryForObject(String sql, RowMapper<T> rm, SqlParameterSource args)
Query for an object of type T using the supplied RowMapper to the query results to the object.
<T> T queryForObject(String sql, Class<T> requiredType, Object... args)
Query for an object of type T identified by the supplied @Class.
<T> T queryForObject(String sql, Class<T> requiredType, SqlParameterSource args)
Query for an object of type T identified by the supplied @Class.
<T> T queryForObject(String sql, ParameterizedRowMapper<T> rm, SqlParameterSource args)
Query for an object of type T using the supplied ParameterizedRowMapper to the query results to the object.
<T> T queryForObject(String sql, ParameterizedRowMapper<T> rm, Object... args)
Query for an object of type T using the supplied ParameterizedRowMapper to the query results to the object.
<T> T queryForObject(String sql, ParameterizedRowMapper<T> rm, Map<String, ?> args)
Query for an object of type T using the supplied ParameterizedRowMapper to the query results to the object.
<T> T queryForObject(String sql, RowMapper<T> rm, Map<String, ?> args)
Query for an object of type T using the supplied RowMapper to the query results to the object.
int update(String sql, Map<String, ?> args)
Execute the supplied SQL statement with (optional) supplied arguments.
int update(String sql, Object... args)
Execute the supplied SQL statement with supplied arguments.
int update(String sql, SqlParameterSource args)
Execute the supplied SQL statement with supplied arguments.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.jdbc.core.simple.SimpleJdbcOperations

Public Constructors

public SimpleJdbcTemplate (DataSource dataSource)

Create a new SimpleJdbcTemplate for the given DataSource.

Creates a classic Spring JdbcTemplate and wraps it.

Parameters
dataSource the JDBC DataSource to access

public SimpleJdbcTemplate (JdbcOperations classicJdbcTemplate)

Create a new SimpleJdbcTemplate for the given classic Spring JdbcTemplate.

Parameters
classicJdbcTemplate the classic Spring JdbcTemplate to wrap

public SimpleJdbcTemplate (NamedParameterJdbcOperations namedParameterJdbcTemplate)

Create a new SimpleJdbcTemplate for the given Spring NamedParameterJdbcTemplate.

Parameters
namedParameterJdbcTemplate the Spring NamedParameterJdbcTemplate to wrap

Public Methods

public int[] batchUpdate (String sql, SqlParameterSource[] batchArgs)

Execute a batch using the supplied SQL statement with the batch of supplied arguments. Uses sql with the named parameter support.

Parameters
sql the SQL statement to execute
batchArgs the array of SqlParameterSource containing the batch of arguments for the query
Returns
  • an array containing the numbers of rows affected by each update in the batch

public int[] batchUpdate (String sql, List<Object[]> batchArgs, int[] argTypes)

Execute a batch using the supplied SQL statement with the batch of supplied arguments. Uses sql with the standard '?' placeholders for parameters

Parameters
sql the SQL statement to execute.
batchArgs the List of Object arrays containing the batch of arguments for the query
argTypes SQL types of the arguments (constants from java.sql.Types)
Returns
  • an array containing the numbers of rows affected by each update in the batch

public int[] batchUpdate (String sql, Map[]<String, ?> batchValues)

Executes a batch using the supplied SQL statement with the batch of supplied arguments. Uses sql with the named parameter support.

Parameters
sql the SQL statement to execute
batchValues the array of Maps containing the batch of arguments for the query
Returns
  • an array containing the numbers of rows affected by each update in the batch

public int[] batchUpdate (String sql, List<Object[]> batchArgs)

Execute a batch using the supplied SQL statement with the batch of supplied arguments. Uses sql with the standard '?' placeholders for parameters

Parameters
sql the SQL statement to execute
batchArgs the List of Object arrays containing the batch of arguments for the query
Returns
  • an array containing the numbers of rows affected by each update in the batch

public JdbcOperations getJdbcOperations ()

Expose the classic Spring JdbcTemplate to allow invocation of less commonly used methods.

public NamedParameterJdbcOperations getNamedParameterJdbcOperations ()

Expose the Spring NamedParameterJdbcTemplate to allow invocation of less commonly used methods.

public List<T> query (String sql, ParameterizedRowMapper<T> rm, Object... args)

Query for a List of Objects of type T using the supplied ParameterizedRowMapper to the query results to the object. Uses sql with the standard '?' placeholders for parameters

Parameters
sql the SQL query to run
rm the @ParameterizedRowMapper to use for result mapping
args the variable number of arguments for the query

public List<T> query (String sql, RowMapper<T> rm, SqlParameterSource args)

Query for a List of Objects of type T using the supplied RowMapper to the query results to the object. Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL query to run
rm the @RowMapper to use for result mapping
args the SqlParameterSource containing the arguments for the query

public List<T> query (String sql, RowMapper<T> rm, Map<String, ?> args)

Query for a List of Objects of type T using the supplied RowMapper to the query results to the object. Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL query to run
rm the @RowMapper to use for result mapping
args the map containing the arguments for the query

public List<T> query (String sql, RowMapper<T> rm, Object... args)

Query for a List of Objects of type T using the supplied RowMapper to the query results to the object. Uses sql with the standard '?' placeholders for parameters

Parameters
sql the SQL query to run
rm the @RowMapper to use for result mapping
args the variable number of arguments for the query

public List<T> query (String sql, ParameterizedRowMapper<T> rm, Map<String, ?> args)

Query for a List of Objects of type T using the supplied ParameterizedRowMapper to the query results to the object. Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL query to run
rm the @ParameterizedRowMapper to use for result mapping
args the map containing the arguments for the query

public List<T> query (String sql, ParameterizedRowMapper<T> rm, SqlParameterSource args)

Query for a List of Objects of type T using the supplied ParameterizedRowMapper to the query results to the object. Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL query to run
rm the @ParameterizedRowMapper to use for result mapping
args the SqlParameterSource containing the arguments for the query

public int queryForInt (String sql, SqlParameterSource args)

Query for an int passing in a SQL query using the named parameter support provided by the NamedParameterJdbcTemplate and a SqlParameterSource containing the arguments.

Parameters
sql the SQL query to run.
args the SqlParameterSource containing the arguments for the query.

public int queryForInt (String sql, Map<String, ?> args)

Query for an int passing in a SQL query using the named parameter support provided by the NamedParameterJdbcTemplate and a map containing the arguments.

Parameters
sql the SQL query to run.
args the map containing the arguments for the query

public int queryForInt (String sql, Object... args)

Query for an int passing in a SQL query using the standard '?' placeholders for parameters and a variable number of arguments.

Parameters
sql the SQL query to run.
args the variable number of arguments for the query

public List<Map<StringObject>> queryForList (String sql, SqlParameterSource args)

Execute the supplied query with the supplied arguments.

Each element in the returned List is constructed as a Map as described in queryForMap(String, Object...) Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL query to run
args the SqlParameterSource containing the arguments for the query

public List<Map<StringObject>> queryForList (String sql, Map<String, ?> args)

Execute the supplied query with the supplied arguments.

Each element in the returned List is constructed as a Map as described in queryForMap(String, Object...) Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL query to run
args the map containing the arguments for the query

public List<Map<StringObject>> queryForList (String sql, Object... args)

Execute the supplied query with the (optional) supplied arguments.

Each element in the returned List is constructed as a Map as described in queryForMap(String, Object...) Uses sql with the standard '?' placeholders for parameters

Parameters
sql the SQL query to run
args the variable number of arguments for the query

public long queryForLong (String sql, SqlParameterSource args)

Query for an long passing in a SQL query using the named parameter support provided by the NamedParameterJdbcTemplate and a SqlParameterSource containing the arguments.

Parameters
sql the SQL query to run.
args the SqlParameterSource containing the arguments for the query

public long queryForLong (String sql, Map<String, ?> args)

Query for an long passing in a SQL query using the named parameter support provided by the NamedParameterJdbcTemplate and a map containing the arguments.

Parameters
sql the SQL query to run.
args the map containing the arguments for the query

public long queryForLong (String sql, Object... args)

Query for an long passing in a SQL query using the standard '?' placeholders for parameters and a variable number of arguments.

Parameters
sql the SQL query to run.
args the variable number of arguments for the query

public Map<StringObject> queryForMap (String sql, Object... args)

Execute the supplied query with the (optional) supplied arguments.

The query is expected to be a single row query; the result row will be mapped to a Map (one entry for each column, using the column name as the key). Uses sql with the standard '?' placeholders for parameters

Parameters
sql the SQL query to run
args the variable number of arguments for the query

public Map<StringObject> queryForMap (String sql, SqlParameterSource args)

Execute the supplied query with the supplied arguments.

The query is expected to be a single row query; the result row will be mapped to a Map (one entry for each column, using the column name as the key). Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL query to run
args the SqlParameterSource containing the arguments for the query

public Map<StringObject> queryForMap (String sql, Map<String, ?> args)

Execute the supplied query with the supplied arguments.

The query is expected to be a single row query; the result row will be mapped to a Map (one entry for each column, using the column name as the key). Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL query to run
args the map containing the arguments for the query

public T queryForObject (String sql, Class<T> requiredType, Map<String, ?> args)

Query for an object of type T identified by the supplied @Class. Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL query to run
requiredType the required type of the return value
args the map containing the arguments for the query

public T queryForObject (String sql, RowMapper<T> rm, Object... args)

Query for an object of type T using the supplied RowMapper to the query results to the object. Uses sql with the standard '?' placeholders for parameters

Parameters
sql the SQL query to run
rm the @RowMapper to use for result mapping
args the variable number of arguments for the query

public T queryForObject (String sql, RowMapper<T> rm, SqlParameterSource args)

Query for an object of type T using the supplied RowMapper to the query results to the object. Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL query to run
rm the @RowMapper to use for result mapping
args the SqlParameterSource containing the arguments for the query

public T queryForObject (String sql, Class<T> requiredType, Object... args)

Query for an object of type T identified by the supplied @Class. Uses sql with the standard '?' placeholders for parameters

Parameters
sql the SQL query to run
requiredType the required type of the return value
args the variable number of arguments for the query

public T queryForObject (String sql, Class<T> requiredType, SqlParameterSource args)

Query for an object of type T identified by the supplied @Class. Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL query to run
requiredType the required type of the return value
args the SqlParameterSource containing the arguments for the query

public T queryForObject (String sql, ParameterizedRowMapper<T> rm, SqlParameterSource args)

Query for an object of type T using the supplied ParameterizedRowMapper to the query results to the object. Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL query to run
rm the @ParameterizedRowMapper to use for result mapping
args the SqlParameterSource containing the arguments for the query

public T queryForObject (String sql, ParameterizedRowMapper<T> rm, Object... args)

Query for an object of type T using the supplied ParameterizedRowMapper to the query results to the object. Uses sql with the standard '?' placeholders for parameters

Parameters
sql the SQL query to run
rm the @ParameterizedRowMapper to use for result mapping
args the variable number of arguments for the query

public T queryForObject (String sql, ParameterizedRowMapper<T> rm, Map<String, ?> args)

Query for an object of type T using the supplied ParameterizedRowMapper to the query results to the object. Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL query to run
rm the @ParameterizedRowMapper to use for result mapping
args the map containing the arguments for the query

public T queryForObject (String sql, RowMapper<T> rm, Map<String, ?> args)

Query for an object of type T using the supplied RowMapper to the query results to the object. Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL query to run
rm the @RowMapper to use for result mapping
args the map containing the arguments for the query

public int update (String sql, Map<String, ?> args)

Execute the supplied SQL statement with (optional) supplied arguments. Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL statement to execute
args the map containing the arguments for the query
Returns
  • the numbers of rows affected by the update

public int update (String sql, Object... args)

Execute the supplied SQL statement with supplied arguments. Uses sql with the standard '?' placeholders for parameters

Parameters
sql the SQL statement to execute
args the variable number of arguments for the query
Returns
  • the numbers of rows affected by the update

public int update (String sql, SqlParameterSource args)

Execute the supplied SQL statement with supplied arguments. Uses sql with the named parameter support provided by the NamedParameterJdbcTemplate

Parameters
sql the SQL statement to execute
args the SqlParameterSource containing the arguments for the statement
Returns
  • the numbers of rows affected by the update