Interface SqlMapClientCallback<T>

public interface SqlMapClientCallback<T>

Callback interface for data access code that works with the iBATIS SqlMapExecutor interface. To be used with SqlMapClientTemplate's execute method, assumably often as anonymous classes within a method implementation.

Juergen Hoeller
See Also:
SqlMapClientTemplate, DataSourceTransactionManager

Method Summary
 T doInSqlMapClient(com.ibatis.sqlmap.client.SqlMapExecutor executor)
          Gets called by SqlMapClientTemplate.execute with an active SqlMapExecutor.

Method Detail


T doInSqlMapClient(com.ibatis.sqlmap.client.SqlMapExecutor executor)
                   throws SQLException
Gets called by SqlMapClientTemplate.execute with an active SqlMapExecutor. Does not need to care about activating or closing the SqlMapExecutor, or handling transactions.

If called without a thread-bound JDBC transaction (initiated by DataSourceTransactionManager), the code will simply get executed on the underlying JDBC connection with its transactional semantics. If using a JTA-aware DataSource, the JDBC connection and thus the callback code will be transactional if a JTA transaction is active.

Allows for returning a result object created within the callback, i.e. a domain object or a collection of domain objects. A thrown custom RuntimeException is treated as an application exception: It gets propagated to the caller of the template.

executor - an active iBATIS SqlMapSession, passed-in as SqlMapExecutor interface here to avoid manual lifecycle handling
a result object, or null if none
SQLException - if thrown by the iBATIS SQL Maps API
See Also:
SqlMapClientTemplate.execute(org.springframework.orm.ibatis.SqlMapClientCallback), SqlMapClientTemplate.executeWithListResult(org.springframework.orm.ibatis.SqlMapClientCallback), SqlMapClientTemplate.executeWithMapResult(org.springframework.orm.ibatis.SqlMapClientCallback)