В чем разница между SqlMapClient и SqlMapSeesion в ibatis? - PullRequest
0 голосов
/ 07 марта 2012

Когда я читаю ibatis-sqlmap-2.3.4, я обнаруживаю, что они оба реализуют SqlMapExecutor.

SqlMapClientImpl выполняет вставку с помощью localSqlMapSession, которая обеспечивает потокобезопасность.

Но весной2.5.6метод execute из SqlMapClientTemplate использует SqlMapClientImpl следующим образом:

  SqlMapSession session = this.sqlMapClient.openSession();
  ...
  return action.doInSqlMapClient(session);

Метод openSession каждый раз возвращает новый SqlMapSessionImpl.

Мои вопросы:

Почему вместо SqlMapClientTemplate используется sqlsqlMapClient?

Почему localSqlMapSession sqlMapClient не используется в SqlMapClientTemplate?используйте как это:

 return action.doInSqlMapClient(this.sqlMapClient);

В чем разница между SqlMapClient и SqlMapSeesion?

1 Ответ

3 голосов
/ 24 августа 2012

для вашего первого вопроса, объяснение пружины в комментарии:

// We always need to use a SqlMapSession, as we need to pass a Spring-managed
// Connection (potentially transactional) in. This shouldn't be necessary if
// we run against a TransactionAwareDataSourceProxy underneath, but unfortunately
// we still need it to make iBATIS batch execution work properly: If iBATIS
// doesn't recognize an existing transaction, it automatically executes the
// batch for every single statement...

ответ на различие между SqlMapClient и SqlMapSession от ibatis можно найти в комментариях интерфейса SqlMapClient:

/**
* Returns a single threaded SqlMapSession implementation for use by
* one user.  Remember though, that SqlMapClient itself is a thread safe SqlMapSession
* implementation, so you can also just work directly with it.  If you do get a session
* explicitly using this method <b>be sure to close it!</b>  You can close a session using
* the sqlMapSession.close() method.
* <p/>
*
* @return An SqlMapSession instance.
*/
public SqlMapSession openSession();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...