Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.ibatis.dao.client.template
Class SqlMapDaoTemplate  view SqlMapDaoTemplate download SqlMapDaoTemplate.java

java.lang.Object
  extended bycom.ibatis.dao.client.template.DaoTemplate
      extended bycom.ibatis.dao.client.template.SqlMapDaoTemplate
All Implemented Interfaces:
com.ibatis.dao.client.Dao, com.ibatis.sqlmap.client.SqlMapExecutor

public abstract class SqlMapDaoTemplate
extends DaoTemplate
implements com.ibatis.sqlmap.client.SqlMapExecutor

A DaoTemplate for SQL Map implementations that provides a convenient method to access the SqlMapExecutor. This class also provides SqlMapExecutor method wrappers that conveniently wrap SQLExceptions with DAO Exceptions.


Field Summary
 
Fields inherited from class com.ibatis.dao.client.template.DaoTemplate
daoManager
 
Constructor Summary
SqlMapDaoTemplate(com.ibatis.dao.client.DaoManager daoManager)
          The DaoManager that manages this Dao instance will be passed in as the parameter to this constructor automatically upon instantiation.
 
Method Summary
 int delete(java.lang.String id, java.lang.Object parameterObject)
          Executes a mapped SQL DELETE statement.
 int executeBatch()
          Executes (flushes) all statements currently batched.
protected  com.ibatis.sqlmap.client.SqlMapExecutor getSqlMapExecutor()
          Gets the SQL Map Executor associated with the current DaoTransaction that this Dao is working under.
protected  com.ibatis.sqlmap.client.SqlMapTransactionManager getSqlMapTransactionManager()
          Gets the SQL Map Transaction Manager associated with the current DaoTransaction that this Dao is working under.
 java.lang.Object insert(java.lang.String id, java.lang.Object parameterObject)
          Executes a mapped SQL INSERT statement.
 java.util.List queryForList(java.lang.String id, java.lang.Object parameterObject)
          Executes a mapped SQL SELECT statement that returns data to populate a number of result objects.
 java.util.List queryForList(java.lang.String id, java.lang.Object parameterObject, int skip, int max)
          Executes a mapped SQL SELECT statement that returns data to populate a number of result objects within a certain range.
 java.util.Map queryForMap(java.lang.String id, java.lang.Object parameterObject, java.lang.String keyProp)
          Executes a mapped SQL SELECT statement that returns data to populate a number of result objects that will be keyed into a Map.
 java.util.Map queryForMap(java.lang.String id, java.lang.Object parameterObject, java.lang.String keyProp, java.lang.String valueProp)
          Executes a mapped SQL SELECT statement that returns data to populate a number of result objects from which one property will be keyed into a Map.
 java.lang.Object queryForObject(java.lang.String id, java.lang.Object parameterObject)
          Executes a mapped SQL SELECT statement that returns data to populate a single object instance.
 java.lang.Object queryForObject(java.lang.String id, java.lang.Object parameterObject, java.lang.Object resultObject)
          Executes a mapped SQL SELECT statement that returns data to populate the supplied result object.
 com.ibatis.common.util.PaginatedList queryForPaginatedList(java.lang.String id, java.lang.Object parameterObject, int pageSize)
          Executes a mapped SQL SELECT statement that returns data to populate a number of result objects a page at a time.
 void queryWithRowHandler(java.lang.String id, java.lang.Object parameterObject, com.ibatis.sqlmap.client.event.RowHandler rowHandler)
          Executes a mapped SQL SELECT statement that returns data to populate a number of result objects that will be handled one at a time by a RowHandler.
 void startBatch()
          Starts a batch in which update statements will be cached before being sent to the database all at once.
 int update(java.lang.String id, java.lang.Object parameterObject)
          Executes a mapped SQL UPDATE statement.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SqlMapDaoTemplate

public SqlMapDaoTemplate(com.ibatis.dao.client.DaoManager daoManager)
The DaoManager that manages this Dao instance will be passed in as the parameter to this constructor automatically upon instantiation.

Method Detail

getSqlMapExecutor

protected com.ibatis.sqlmap.client.SqlMapExecutor getSqlMapExecutor()
Gets the SQL Map Executor associated with the current DaoTransaction that this Dao is working under. The SqlMapExecutor interface declares a number of methods for executing statements via an SqlMapClient instance.


getSqlMapTransactionManager

protected com.ibatis.sqlmap.client.SqlMapTransactionManager getSqlMapTransactionManager()
Gets the SQL Map Transaction Manager associated with the current DaoTransaction that this Dao is working under. The SqlMapExecutor interface declares a number of methods for executing statements via an SqlMapClient instance.

NOTE: It is rare to require this in a DAO. Only very special cases of DAO implementations will require access to the SqlMapTransactionManager. Messing with transactions at this level might be dangerous to your data integrity (e.g. committing too early).


insert

public java.lang.Object insert(java.lang.String id,
                               java.lang.Object parameterObject)
Executes a mapped SQL INSERT statement. Insert is a bit different from other update methods, as it provides facilities for returning the primary key of the newly inserted row (rather than the effected rows). This functionality is of course optional.

The parameter object is generally used to supply the input data for the INSERT values.

Specified by:
insert in interface com.ibatis.sqlmap.client.SqlMapExecutor

update

public int update(java.lang.String id,
                  java.lang.Object parameterObject)
Executes a mapped SQL UPDATE statement. Update can also be used for any other update statement type, such as inserts and deletes. Update returns the number of rows effected.

The parameter object is generally used to supply the input data for the UPDATE values as well as the WHERE clause parameter(s).

Specified by:
update in interface com.ibatis.sqlmap.client.SqlMapExecutor

delete

public int delete(java.lang.String id,
                  java.lang.Object parameterObject)
Executes a mapped SQL DELETE statement. Delete returns the number of rows effected.

The parameter object is generally used to supply the input data for the WHERE clause parameter(s) of the DELETE statement.

Specified by:
delete in interface com.ibatis.sqlmap.client.SqlMapExecutor

queryForObject

public java.lang.Object queryForObject(java.lang.String id,
                                       java.lang.Object parameterObject)
Executes a mapped SQL SELECT statement that returns data to populate a single object instance.

The parameter object is generally used to supply the input data for the WHERE clause parameter(s) of the SELECT statement.

Specified by:
queryForObject in interface com.ibatis.sqlmap.client.SqlMapExecutor

queryForObject

public java.lang.Object queryForObject(java.lang.String id,
                                       java.lang.Object parameterObject,
                                       java.lang.Object resultObject)
Executes a mapped SQL SELECT statement that returns data to populate the supplied result object.

The parameter object is generally used to supply the input data for the WHERE clause parameter(s) of the SELECT statement.

Specified by:
queryForObject in interface com.ibatis.sqlmap.client.SqlMapExecutor

queryForList

public java.util.List queryForList(java.lang.String id,
                                   java.lang.Object parameterObject)
Executes a mapped SQL SELECT statement that returns data to populate a number of result objects.

The parameter object is generally used to supply the input data for the WHERE clause parameter(s) of the SELECT statement.

Specified by:
queryForList in interface com.ibatis.sqlmap.client.SqlMapExecutor

queryForList

public java.util.List queryForList(java.lang.String id,
                                   java.lang.Object parameterObject,
                                   int skip,
                                   int max)
Executes a mapped SQL SELECT statement that returns data to populate a number of result objects within a certain range.

The parameter object is generally used to supply the input data for the WHERE clause parameter(s) of the SELECT statement.

Specified by:
queryForList in interface com.ibatis.sqlmap.client.SqlMapExecutor

queryWithRowHandler

public void queryWithRowHandler(java.lang.String id,
                                java.lang.Object parameterObject,
                                com.ibatis.sqlmap.client.event.RowHandler rowHandler)
Executes a mapped SQL SELECT statement that returns data to populate a number of result objects that will be handled one at a time by a RowHandler.

This is generally a good approach to take when dealing with large sets of records (i.e. hundreds, thousands...) that need to be processed without eating up all of the system resources.

The parameter object is generally used to supply the input data for the WHERE clause parameter(s) of the SELECT statement.

Specified by:
queryWithRowHandler in interface com.ibatis.sqlmap.client.SqlMapExecutor

queryForPaginatedList

public com.ibatis.common.util.PaginatedList queryForPaginatedList(java.lang.String id,
                                                                  java.lang.Object parameterObject,
                                                                  int pageSize)
Executes a mapped SQL SELECT statement that returns data to populate a number of result objects a page at a time.

The parameter object is generally used to supply the input data for the WHERE clause parameter(s) of the SELECT statement.

Specified by:
queryForPaginatedList in interface com.ibatis.sqlmap.client.SqlMapExecutor

queryForMap

public java.util.Map queryForMap(java.lang.String id,
                                 java.lang.Object parameterObject,
                                 java.lang.String keyProp)
Executes a mapped SQL SELECT statement that returns data to populate a number of result objects that will be keyed into a Map.

The parameter object is generally used to supply the input data for the WHERE clause parameter(s) of the SELECT statement.

Specified by:
queryForMap in interface com.ibatis.sqlmap.client.SqlMapExecutor

queryForMap

public java.util.Map queryForMap(java.lang.String id,
                                 java.lang.Object parameterObject,
                                 java.lang.String keyProp,
                                 java.lang.String valueProp)
Executes a mapped SQL SELECT statement that returns data to populate a number of result objects from which one property will be keyed into a Map.

The parameter object is generally used to supply the input data for the WHERE clause parameter(s) of the SELECT statement.

Specified by:
queryForMap in interface com.ibatis.sqlmap.client.SqlMapExecutor

startBatch

public void startBatch()
Starts a batch in which update statements will be cached before being sent to the database all at once. This can improve overall performance of updates update when dealing with numerous updates (e.g. inserting 1:M related data).

Specified by:
startBatch in interface com.ibatis.sqlmap.client.SqlMapExecutor

executeBatch

public int executeBatch()
Executes (flushes) all statements currently batched.

Specified by:
executeBatch in interface com.ibatis.sqlmap.client.SqlMapExecutor