|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Interface that specifies a basic set of JDBC operations. Implemented by JdbcTemplate. Not often used, but a useful option to enhance testability, as it can easily be mocked or stubbed.
Alternatively, the standard JDBC infrastructure can be mocked. However, mocking this interface constitutes significantly less work.
JdbcTemplate
Method Summary | |
int[] |
batchUpdate(java.lang.String sql,
BatchPreparedStatementSetter pss)
Issue multiple updates on a single PreparedStatement, using JDBC 2.0 batch updates and a BatchPreparedStatementSetter to set values. |
java.util.Map |
call(CallableStatementCreator csc,
java.util.List declaredParameters)
Execute a SQL call using a CallableStatementCreator to provide SQL and any required parameters. |
java.lang.Object |
execute(CallableStatementCreator csc,
CallableStatementCallback action)
Execute the action specified by the given action object within a JDBC CallableStatement. |
java.lang.Object |
execute(PreparedStatementCreator psc,
PreparedStatementCallback action)
Execute the action specified by the given action object within a JDBC PreparedStatement. |
java.lang.Object |
execute(StatementCallback action)
Execute the action specified by the given action object within a JDBC Statement. |
void |
execute(java.lang.String sql)
Issue a single SQL execute, typically a DDL statement. |
java.lang.Object |
execute(java.lang.String callString,
CallableStatementCallback action)
Execute the action specified by the given action object within a JDBC CallableStatement. |
java.lang.Object |
execute(java.lang.String sql,
PreparedStatementCallback action)
Execute the action specified by the given action object within a JDBC PreparedStatement. |
java.lang.Object |
query(PreparedStatementCreator psc,
ResultSetExtractor rse)
Query using a prepared statement. |
java.util.List |
query(PreparedStatementCreator psc,
RowCallbackHandler rch)
Query using a prepared statement, reading the ResultSet on a per-row basis with a RowCallbackHandler (potentially implementing the ResultReader sub-interface that provides a result List). |
java.util.List |
query(java.lang.String sql,
java.lang.Object[] args,
int[] argTypes,
RowCallbackHandler rch)
Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, reading the ResultSet on a per-row basis with a RowCallbackHandler (potentially implementing the ResultReader sub-interface that provides a result List). |
java.util.List |
query(java.lang.String sql,
java.lang.Object[] args,
RowCallbackHandler rch)
Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, reading the ResultSet on a per-row basis with a RowCallbackHandler (potentially implementing the ResultReader sub-interface that provides a result List). |
java.lang.Object |
query(java.lang.String sql,
PreparedStatementSetter pss,
ResultSetExtractor rse)
Query using a prepared statement, reading the ResultSet with a ResultSetExtractor. |
java.util.List |
query(java.lang.String sql,
PreparedStatementSetter pss,
RowCallbackHandler rch)
Query given SQL to create a prepared statement from SQL and a PreparedStatementSetter implementation that knows how to bind values to the query, reading the ResultSet on a per-row basis with a RowCallbackHandler (potentially implementing the ResultReader sub-interface that provides a result List). |
java.lang.Object |
query(java.lang.String sql,
ResultSetExtractor rse)
Execute a query given static SQL, reading the ResultSet with a ResultSetExtractor. |
java.util.List |
query(java.lang.String sql,
RowCallbackHandler rch)
Execute a query given static SQL, reading the ResultSet on a per-row basis with a RowCallbackHandler (potentially implementing the ResultReader sub-interface that provides a result List). |
int |
queryForInt(java.lang.String sql)
Execute a query that results in an int value, given static SQL. |
int |
queryForInt(java.lang.String sql,
java.lang.Object[] args)
Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, resulting in an int value. |
java.util.List |
queryForList(java.lang.String sql)
Execute a query for a result list, given static SQL. |
java.util.List |
queryForList(java.lang.String sql,
java.lang.Object[] args)
Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, expecting a result list. |
long |
queryForLong(java.lang.String sql)
Execute a query that results in a long value, given static SQL. |
long |
queryForLong(java.lang.String sql,
java.lang.Object[] args)
Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, resulting in a long value. |
java.lang.Object |
queryForObject(java.lang.String sql,
java.lang.Class requiredType)
Execute a query for a result object, given static SQL. |
java.lang.Object |
queryForObject(java.lang.String sql,
java.lang.Object[] args,
java.lang.Class requiredType)
Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, expecting a result object. |
int |
update(PreparedStatementCreator psc)
Issue an update using a PreparedStatementCreator to provide SQL and any required parameters. |
int |
update(java.lang.String sql)
Issue a single SQL update. |
int |
update(java.lang.String sql,
java.lang.Object[] args)
Issue an update via a prepared statement, binding the given arguments. |
int |
update(java.lang.String sql,
java.lang.Object[] args,
int[] argTypes)
Issue an update via a prepared statement, binding the given arguments. |
int |
update(java.lang.String sql,
PreparedStatementSetter pss)
Issue an update using a PreparedStatementSetter to set bind parameters, with given SQL. |
Method Detail |
public java.lang.Object execute(StatementCallback action) throws DataAccessException
action
- callback object that specifies the action
DataAccessException
- if there is any problempublic void execute(java.lang.String sql) throws DataAccessException
sql
- static SQL to execute
DataAccessException
- if there is any problempublic java.lang.Object query(java.lang.String sql, ResultSetExtractor rse) throws DataAccessException
Uses a JDBC Statement, not a PreparedStatement. If you want to execute a static query with a PreparedStatement, use the overloaded query method with a null PreparedStatementSetter as a parameter.
sql
- SQL query to executerse
- object that will extract all rows of results
DataAccessException
- if there is any problem executing the queryquery(String, PreparedStatementSetter, ResultSetExtractor)
public java.util.List query(java.lang.String sql, RowCallbackHandler rch) throws DataAccessException
Uses a JDBC Statement, not a PreparedStatement. If you want to execute a static query with a PreparedStatement, use the overloaded query method with null as PreparedStatementSetter argument.
sql
- SQL query to executerch
- object that will extract results
DataAccessException
- if there is any problem executing the queryquery(String, PreparedStatementSetter, RowCallbackHandler)
public java.util.List queryForList(java.lang.String sql) throws DataAccessException
Uses a JDBC Statement, not a PreparedStatement. If you want to execute a static query with a PreparedStatement, use the overloaded queryForList method with null as argument array.
This method is useful for running static SQL with a known outcome. The results will be mapped to an ArrayList (one entry for each row) of HashMaps (one entry for each column using the column name as the key).
sql
- SQL query to execute
DataAccessException
- if there is any problem executing the queryqueryForList(String, Object[])
public java.lang.Object queryForObject(java.lang.String sql, java.lang.Class requiredType) throws DataAccessException
Uses a JDBC Statement, not a PreparedStatement. If you want to execute a static query with a PreparedStatement, use the overloaded queryForObject method with null as argument array.
This method is useful for running static SQL with a known outcome. The query is expected to be a single row/single column query; the returned result will be directly mapped to the corresponding object type.
sql
- SQL query to executerequiredType
- the type that the result object is expected to match
DataAccessException
- if there is any problem executing the queryqueryForObject(String, Object[], Class)
public long queryForLong(java.lang.String sql) throws DataAccessException
Uses a JDBC Statement, not a PreparedStatement. If you want to execute a static query with a PreparedStatement, use the overloaded queryForLong method with null as argument array.
This method is useful for running static SQL with a known outcome. The query is expected to be a single row/single column query that results in a long value.
sql
- SQL query to execute
DataAccessException
- if there is any problem executing the queryqueryForLong(String, Object[])
public int queryForInt(java.lang.String sql) throws DataAccessException
Uses a JDBC Statement, not a PreparedStatement. If you want to execute a static query with a PreparedStatement, use the overloaded queryForInt method with null as argument array.
This method is useful for running static SQL with a known outcome. The query is expected to be a single row/single column query that results in an int value.
sql
- SQL query to execute
DataAccessException
- if there is any problem executing the queryqueryForInt(String, Object[])
public int update(java.lang.String sql) throws DataAccessException
sql
- static SQL to execute
DataAccessException
- if there is any problem.public java.lang.Object execute(PreparedStatementCreator psc, PreparedStatementCallback action)
psc
- object that can create a PreparedStatement given a Connectionaction
- callback object that specifies the action
DataAccessException
- if there is any problempublic java.lang.Object execute(java.lang.String sql, PreparedStatementCallback action)
sql
- SQL to executeaction
- callback object that specifies the action
DataAccessException
- if there is any problempublic java.lang.Object query(PreparedStatementCreator psc, ResultSetExtractor rse)
psc
- object that can create a PreparedStatement given a Connectionrse
- object that will extract results
DataAccessException
- if there is any problempublic java.lang.Object query(java.lang.String sql, PreparedStatementSetter pss, ResultSetExtractor rse)
sql
- SQL to executepss
- object that knows how to set values on the prepared statement.
If this is null, the SQL will be assumed to contain no bind parameters.
Even if there are no bind parameters, this object may be used to
set fetch size and other performance options.rse
- object that will extract results.
DataAccessException
- if there is any problempublic java.util.List query(PreparedStatementCreator psc, RowCallbackHandler rch) throws DataAccessException
psc
- object that can create a PreparedStatement given a Connectionrch
- object that will extract results,
one row at a time
DataAccessException
- if there is any problempublic java.util.List query(java.lang.String sql, PreparedStatementSetter pss, RowCallbackHandler rch) throws DataAccessException
sql
- SQL to executepss
- object that knows how to set values on the prepared statement.
If this is null, the SQL will be assumed to contain no bind parameters.
Even if there are no bind parameters, this object may be used to
set fetch size and other performance options.rch
- object that will extract results
DataAccessException
- if the query failspublic java.util.List query(java.lang.String sql, java.lang.Object[] args, int[] argTypes, RowCallbackHandler rch) throws DataAccessException
sql
- SQL to executeargs
- arguments to bind to the queryargTypes
- SQL types of the arguments (constants from java.sql.Types)rch
- object that will extract results
DataAccessException
- if the query failsTypes
public java.util.List query(java.lang.String sql, java.lang.Object[] args, RowCallbackHandler rch) throws DataAccessException
sql
- SQL to executeargs
- arguments to bind to the query
(leaving it to the PreparedStatement to guess the respective SQL type)rch
- object that will extract results
DataAccessException
- if the query failspublic java.util.List queryForList(java.lang.String sql, java.lang.Object[] args) throws DataAccessException
This method is useful for running static SQL with a known outcome. The results will be mapped to an ArrayList (one entry for each row) of HashMaps (one entry for each column using the column name as the key).
sql
- SQL to executeargs
- arguments to bind to the query
(leaving it to the PreparedStatement to guess the respective SQL type)
DataAccessException
- if the query failsqueryForList(String)
public java.lang.Object queryForObject(java.lang.String sql, java.lang.Object[] args, java.lang.Class requiredType) throws DataAccessException
This method is useful for running static SQL with a known outcome. The query is expected to be a single row/single column query; the returned result will be directly mapped to the corresponding object type.
sql
- SQL to executeargs
- arguments to bind to the query
(leaving it to the PreparedStatement to guess the respective SQL type)requiredType
- the type that the result object is expected to match
DataAccessException
- if the query failsqueryForObject(String, Class)
public long queryForLong(java.lang.String sql, java.lang.Object[] args) throws DataAccessException
This method is useful for running static SQL with a known outcome. The query is expected to be a single row/single column query that results in a long value.
sql
- SQL to executeargs
- arguments to bind to the query
(leaving it to the PreparedStatement to guess the respective SQL type)
DataAccessException
- if the query failsqueryForLong(String)
public int queryForInt(java.lang.String sql, java.lang.Object[] args) throws DataAccessException
This method is useful for running static SQL with a known outcome. The query is expected to be a single row/single column query that results in an int value.
sql
- SQL to executeargs
- arguments to bind to the query
(leaving it to the PreparedStatement to guess the respective SQL type)
DataAccessException
- if the query failsqueryForInt(String)
public int update(PreparedStatementCreator psc) throws DataAccessException
psc
- object that provides SQL and any necessary parameters
DataAccessException
- if there is any problem issuing the updatepublic int update(java.lang.String sql, PreparedStatementSetter pss) throws DataAccessException
sql
- SQL, containing bind parameterspss
- helper that sets bind parameters. If this is null
we run an update with static SQL.
DataAccessException
- if there is any problem issuing the updatepublic int update(java.lang.String sql, java.lang.Object[] args, int[] argTypes) throws DataAccessException
sql
- SQL, containing bind parametersargs
- arguments to bind to the queryargTypes
- SQL types of the arguments (constants from java.sql.Types)
DataAccessException
- if there is any problem issuing the updatepublic int update(java.lang.String sql, java.lang.Object[] args) throws DataAccessException
sql
- SQL, containing bind parametersargs
- arguments to bind to the query
(leaving it to the PreparedStatement to guess the respective SQL type)
DataAccessException
- if there is any problem issuing the updatepublic int[] batchUpdate(java.lang.String sql, BatchPreparedStatementSetter pss) throws DataAccessException
Will fall back to separate updates on a single PreparedStatement if the JDBC driver does not support batch updates.
sql
- defining PreparedStatement that will be reused.
All statements in the batch will use the same SQL.pss
- object to set parameters on the PreparedStatement
created by this method
DataAccessException
- if there is any problem issuing the updatepublic java.lang.Object execute(CallableStatementCreator csc, CallableStatementCallback action)
csc
- object that can create a CallableStatement given a Connectionaction
- callback object that specifies the action
DataAccessException
- if there is any problempublic java.lang.Object execute(java.lang.String callString, CallableStatementCallback action)
callString
- the SQL call string to executeaction
- callback object that specifies the action
DataAccessException
- if there is any problempublic java.util.Map call(CallableStatementCreator csc, java.util.List declaredParameters) throws DataAccessException
csc
- object that provides SQL and any necessary parameters
DataAccessException
- if there is any problem issuing the update
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |