com.googlecode.jpattern.orm.session.jdbctemplate
Class JdbcTemplateSqlPerformer

java.lang.Object
  extended by com.googlecode.jpattern.orm.session.ASqlPerformer
      extended by com.googlecode.jpattern.orm.session.jdbctemplate.JdbcTemplateSqlPerformer
All Implemented Interfaces:
ISqlPerformer

public class JdbcTemplateSqlPerformer
extends ASqlPerformer

Author:
Francesco Cina 02/lug/2011 ISqlExecutor implementation using JdbcTemplate as backend

Constructor Summary
JdbcTemplateSqlPerformer(org.springframework.jdbc.core.JdbcTemplate jdbcTemplate)
           
 
Method Summary
 int[] batchUpdate(List<String> sqls)
          Issue multiple SQL updates on a single JDBC Statement using batching.
 int[] batchUpdate(String sql, IPreparedStatementCreator psc)
          Issue multiple SQL updates on a single JDBC Statement using batching.
 int[] batchUpdate(String sql, List<Object[]> args)
          Issue multiple SQL updates on a single JDBC Statement using batching.
 void execute(String sql)
          Issue a single SQL execute, typically a DDL statement.
 int getMaxRows()
          Return the maximum number of rows specified for this sql query.
 int getQueryTimeout()
          Return the query timeout for the statements.
<T> T
query(String sql, IResultSetReader<T> rse, Object... args)
          Execute a query given static SQL, reading the ResultSet with a IResultSetReader.
 void setMaxRows(int maxRows)
          Set the maximum number of rows returnd by the execution of the sql query
 void setQueryTimeout(int queryTimeout)
          Set the query timeout for the statements.
 int update(String sql, IGeneratedKeyReader generatedKeyReader, Object... args)
          Issue an update statement using a PreparedStatementCreator to provide SQL and any required parameters.
 int update(String sql, Object... args)
          Perform a single SQL update operation (such as an insert, update or delete statement).
 
Methods inherited from class com.googlecode.jpattern.orm.session.ASqlPerformer
queryForArray, queryForBigDecimal, queryForBoolean, queryForDouble, queryForFloat, queryForInt, queryForList, queryForLong, queryForString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JdbcTemplateSqlPerformer

public JdbcTemplateSqlPerformer(org.springframework.jdbc.core.JdbcTemplate jdbcTemplate)
Method Detail

setMaxRows

public void setMaxRows(int maxRows)
Description copied from interface: ISqlPerformer
Set the maximum number of rows returnd by the execution of the sql query


getMaxRows

public int getMaxRows()
Description copied from interface: ISqlPerformer
Return the maximum number of rows specified for this sql query.


setQueryTimeout

public void setQueryTimeout(int queryTimeout)
Description copied from interface: ISqlPerformer
Set the query timeout for the statements.


getQueryTimeout

public int getQueryTimeout()
Description copied from interface: ISqlPerformer
Return the query timeout for the statements.


execute

public void execute(String sql)
             throws OrmException
Description copied from interface: ISqlPerformer
Issue a single SQL execute, typically a DDL statement.

Parameters:
sql - static SQL to execute
Throws:
OrmException

query

public <T> T query(String sql,
                   IResultSetReader<T> rse,
                   Object... args)
        throws OrmException
Description copied from interface: ISqlPerformer
Execute a query given static SQL, reading the ResultSet with a IResultSetReader.

Parameters:
sql - SQL query to execute
rse - object that will extract all rows of results
args - arguments to bind to the query
Returns:
an arbitrary result object, as returned by the IResultSetExtractor
Throws:
OrmException

update

public int update(String sql,
                  Object... args)
           throws OrmException
Description copied from interface: ISqlPerformer
Perform a single SQL update operation (such as an insert, update or delete statement).

Parameters:
sql - static SQL to execute
args - arguments to bind to the query
Returns:
the number of rows affected
Throws:
OrmException

update

public int update(String sql,
                  IGeneratedKeyReader generatedKeyReader,
                  Object... args)
           throws OrmException
Description copied from interface: ISqlPerformer
Issue an update statement using a PreparedStatementCreator to provide SQL and any required parameters. Generated keys can be read using the IGeneratedKeyReader.

generatedKeyReader - IGeneratedKeyReader to read the generated key
Returns:
the number of rows affected
Throws:
OrmException

batchUpdate

public int[] batchUpdate(List<String> sqls)
                  throws OrmException
Description copied from interface: ISqlPerformer
Issue multiple SQL updates on a single JDBC Statement using batching.

Returns:
an array of the number of rows affected by each statement
Throws:
OrmException

batchUpdate

public int[] batchUpdate(String sql,
                         List<Object[]> args)
                  throws OrmException
Description copied from interface: ISqlPerformer
Issue multiple SQL updates on a single JDBC Statement using batching. The same query is executed for every Object array present in the args list which is the list of arguments to bind to the query.

Parameters:
sql - defining a List of SQL statements that will be executed.
args - defining a List of Object arrays to bind to the query.
Returns:
an array of the number of rows affected by each statement
Throws:
OrmException

batchUpdate

public int[] batchUpdate(String sql,
                         IPreparedStatementCreator psc)
                  throws OrmException
Description copied from interface: ISqlPerformer
Issue multiple SQL updates on a single JDBC Statement using batching. The values on the generated PreparedStatement are set using an IPreparedStatementCreator.

Parameters:
sql - defining a List of SQL statements that will be executed.
psc - the creator to bind values on the PreparedStatement
Returns:
an array of the number of rows affected by each statement
Throws:
OrmException


Copyright © 2011. All Rights Reserved.