public final class SqlSessionUtils extends Object
TransactionSynchronizationManager
. Also works if no transaction is active.Modifier and Type | Method and Description |
---|---|
static void |
closeSqlSession(org.apache.ibatis.session.SqlSession session,
org.apache.ibatis.session.SqlSessionFactory sessionFactory)
Checks if
SqlSession passed as an argument is managed by Spring TransactionSynchronizationManager
If it is not, it closes it, otherwise it just updates the reference counter and
lets Spring call the close callback when the managed transaction ends |
static org.apache.ibatis.session.SqlSession |
getSqlSession(org.apache.ibatis.session.SqlSessionFactory sessionFactory)
Creates a new MyBatis
SqlSession from the SqlSessionFactory
provided as a parameter and using its DataSource and ExecutorType |
static org.apache.ibatis.session.SqlSession |
getSqlSession(org.apache.ibatis.session.SqlSessionFactory sessionFactory,
org.apache.ibatis.session.ExecutorType executorType,
org.springframework.dao.support.PersistenceExceptionTranslator exceptionTranslator)
Gets an SqlSession from Spring Transaction Manager or creates a new one if needed.
|
static boolean |
isSqlSessionTransactional(org.apache.ibatis.session.SqlSession session,
org.apache.ibatis.session.SqlSessionFactory sessionFactory)
Returns if the
SqlSession passed as an argument is being managed by Spring |
public static org.apache.ibatis.session.SqlSession getSqlSession(org.apache.ibatis.session.SqlSessionFactory sessionFactory)
SqlSession
from the SqlSessionFactory
provided as a parameter and using its DataSource
and ExecutorType
sessionFactory
- a MyBatis SqlSessionFactory
to create new sessionsSqlSession
org.springframework.dao.TransientDataAccessResourceException
- if a transaction is active and the
SqlSessionFactory
is not using a SpringManagedTransactionFactory
public static org.apache.ibatis.session.SqlSession getSqlSession(org.apache.ibatis.session.SqlSessionFactory sessionFactory, org.apache.ibatis.session.ExecutorType executorType, org.springframework.dao.support.PersistenceExceptionTranslator exceptionTranslator)
SpringManagedTransactionFactory
is configured as a transaction manager.sessionFactory
- a MyBatis SqlSessionFactory
to create new sessionsexecutorType
- The executor type of the SqlSession to createexceptionTranslator
- Optional. Translates SqlSession.commit() exceptions to Spring exceptions.org.springframework.dao.TransientDataAccessResourceException
- if a transaction is active and the
SqlSessionFactory
is not using a SpringManagedTransactionFactory
SpringManagedTransactionFactory
public static void closeSqlSession(org.apache.ibatis.session.SqlSession session, org.apache.ibatis.session.SqlSessionFactory sessionFactory)
SqlSession
passed as an argument is managed by Spring TransactionSynchronizationManager
If it is not, it closes it, otherwise it just updates the reference counter and
lets Spring call the close callback when the managed transaction endssession
- sessionFactory
- public static boolean isSqlSessionTransactional(org.apache.ibatis.session.SqlSession session, org.apache.ibatis.session.SqlSessionFactory sessionFactory)
SqlSession
passed as an argument is being managed by Springsession
- a MyBatis SqlSession to checksessionFactory
- the SqlSessionFactory which the SqlSession was built withCopyright © 2010–2015 MyBatis.org. All rights reserved.