public interface

SqlMapClientCallback

org.springframework.orm.ibatis.SqlMapClientCallback<T>

Class Overview

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

Summary

Public Methods
abstract T doInSqlMapClient(SqlMapExecutor executor)
Gets called by SqlMapClientTemplate.execute with an active SqlMapExecutor.

Public Methods

public abstract T doInSqlMapClient (SqlMapExecutor executor)

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.

Parameters
executor an active iBATIS SqlMapSession, passed-in as SqlMapExecutor interface here to avoid manual lifecycle handling
Returns
  • a result object, or null if none
Throws
SQLException if thrown by the iBATIS SQL Maps API