|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.mybatis.spring.SqlSessionFactoryBean
public class SqlSessionFactoryBean
FactoryBean that creates an MyBatis SqlSessionFactory.
This is the usual way to set up a shared MyBatis SqlSessionFactory in a Spring application context;
the SqlSessionFactory can then be passed to MyBatis-based DAOs via dependency injection.
Either DataSourceTransactionManager or JtaTransactionManager can be used for transaction
demarcation in combination with a SqlSessionFactory. JTA should be used for transactions
which span multiple databases or when container managed transactions (CMT) are being used.
setConfigLocation(org.springframework.core.io.Resource),
setDataSource(javax.sql.DataSource)| Constructor Summary | |
|---|---|
SqlSessionFactoryBean()
|
|
| Method Summary | |
|---|---|
void |
afterPropertiesSet()
|
protected org.apache.ibatis.session.SqlSessionFactory |
buildSqlSessionFactory()
Build a SqlSessionFactory instance. |
org.apache.ibatis.mapping.DatabaseIdProvider |
getDatabaseIdProvider()
Sets the DatabaseIdProvider. |
org.apache.ibatis.session.SqlSessionFactory |
getObject()
|
Class<? extends org.apache.ibatis.session.SqlSessionFactory> |
getObjectType()
|
boolean |
isSingleton()
|
void |
onApplicationEvent(org.springframework.context.ApplicationEvent event)
|
void |
setConfigLocation(org.springframework.core.io.Resource configLocation)
Set the location of the MyBatis SqlSessionFactory config file. |
void |
setConfigurationProperties(Properties sqlSessionFactoryProperties)
Set optional properties to be passed into the SqlSession configuration, as alternative to a <properties> tag in the configuration xml file. |
void |
setDatabaseIdProvider(org.apache.ibatis.mapping.DatabaseIdProvider databaseIdProvider)
Gets the DatabaseIdProvider |
void |
setDataSource(DataSource dataSource)
Set the JDBC DataSource that this instance should manage transactions for. |
void |
setEnvironment(String environment)
NOTE: This class overrides any Environment you have set in the MyBatis
config file. |
void |
setFailFast(boolean failFast)
If true, a final check is done on Configuration to assure that all mapped statements are fully loaded and there is no one still pending to resolve includes. |
void |
setMapperLocations(org.springframework.core.io.Resource[] mapperLocations)
Set locations of MyBatis mapper files that are going to be merged into the SqlSessionFactory
configuration at runtime. |
void |
setObjectFactory(org.apache.ibatis.reflection.factory.ObjectFactory objectFactory)
Sets the ObjectFactory. |
void |
setObjectWrapperFactory(org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory objectWrapperFactory)
Sets the ObjectWrapperFactory. |
void |
setPlugins(org.apache.ibatis.plugin.Interceptor[] plugins)
Mybatis plugin list. |
void |
setSqlSessionFactoryBuilder(org.apache.ibatis.session.SqlSessionFactoryBuilder sqlSessionFactoryBuilder)
Sets the SqlSessionFactoryBuilder to use when creating the SqlSessionFactory. |
void |
setTransactionFactory(org.apache.ibatis.transaction.TransactionFactory transactionFactory)
Set the MyBatis TransactionFactory to use. |
void |
setTypeAliases(Class<?>[] typeAliases)
List of type aliases to register. |
void |
setTypeAliasesPackage(String typeAliasesPackage)
Packages to search for type aliases. |
void |
setTypeAliasesSuperType(Class<?> typeAliasesSuperType)
Super class which domain objects have to extend to have a type alias created. |
void |
setTypeHandlers(org.apache.ibatis.type.TypeHandler<?>[] typeHandlers)
Set type handlers. |
void |
setTypeHandlersPackage(String typeHandlersPackage)
Packages to search for type handlers. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SqlSessionFactoryBean()
| Method Detail |
|---|
public void setObjectFactory(org.apache.ibatis.reflection.factory.ObjectFactory objectFactory)
objectFactory - public void setObjectWrapperFactory(org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory objectWrapperFactory)
objectWrapperFactory - public org.apache.ibatis.mapping.DatabaseIdProvider getDatabaseIdProvider()
public void setDatabaseIdProvider(org.apache.ibatis.mapping.DatabaseIdProvider databaseIdProvider)
databaseIdProvider - public void setPlugins(org.apache.ibatis.plugin.Interceptor[] plugins)
plugins - list of pluginspublic void setTypeAliasesPackage(String typeAliasesPackage)
typeAliasesPackage - package to scan for domain objectspublic void setTypeAliasesSuperType(Class<?> typeAliasesSuperType)
typeAliasesSuperType - super class for domain objectspublic void setTypeHandlersPackage(String typeHandlersPackage)
typeHandlersPackage - package to scan for type handlerspublic void setTypeHandlers(org.apache.ibatis.type.TypeHandler<?>[] typeHandlers)
MappedTypes and optionally with MappedJdbcTypes
typeHandlers - Type handler listpublic void setTypeAliases(Class<?>[] typeAliases)
Alias
typeAliases - Type aliases listpublic void setFailFast(boolean failFast)
failFast - enable failFastpublic void setConfigLocation(org.springframework.core.io.Resource configLocation)
SqlSessionFactory config file. A typical value is
"WEB-INF/mybatis-configuration.xml".
public void setMapperLocations(org.springframework.core.io.Resource[] mapperLocations)
SqlSessionFactory
configuration at runtime.
This is an alternative to specifying "<sqlmapper>" entries in an MyBatis config file.
This property being based on Spring's resource abstraction also allows for specifying
resource patterns here: e.g. "classpath*:sqlmap/*-mapper.xml".
public void setConfigurationProperties(Properties sqlSessionFactoryProperties)
<properties> tag in the configuration xml file. This will be used to
resolve placeholders in the config file.
public void setDataSource(DataSource dataSource)
DataSource that this instance should manage transactions for. The DataSource
should match the one used by the SqlSessionFactory: for example, you could specify the same
JNDI DataSource for both.
A transactional JDBC Connection for this DataSource will be provided to application code
accessing this DataSource directly via DataSourceUtils or DataSourceTransactionManager.
The DataSource specified here should be the target DataSource to manage transactions for, not
a TransactionAwareDataSourceProxy. Only data access code may work with
TransactionAwareDataSourceProxy, while the transaction manager needs to work on the
underlying target DataSource. If there's nevertheless a TransactionAwareDataSourceProxy
passed in, it will be unwrapped to extract its target DataSource.
public void setSqlSessionFactoryBuilder(org.apache.ibatis.session.SqlSessionFactoryBuilder sqlSessionFactoryBuilder)
SqlSessionFactoryBuilder to use when creating the SqlSessionFactory.
This is mainly meant for testing so that mock SqlSessionFactory classes can be injected. By
default, SqlSessionFactoryBuilder creates DefaultSqlSessionFactory instances.
public void setTransactionFactory(org.apache.ibatis.transaction.TransactionFactory transactionFactory)
SpringManagedTransactionFactory
The default SpringManagedTransactionFactory should be appropriate for all cases:
be it Spring transaction management, EJB CMT or plain JTA. If there is no active transaction,
SqlSession operations will execute SQL statements non-transactionally.
It is strongly recommended to use the default TransactionFactory. If not used, any
attempt at getting an SqlSession through Spring's MyBatis framework will throw an exception if
a transaction is active.
transactionFactory - the MyBatis TransactionFactorySpringManagedTransactionFactorypublic void setEnvironment(String environment)
Environment you have set in the MyBatis
config file. This is used only as a placeholder name. The default value is
SqlSessionFactoryBean.class.getSimpleName().
environment - the environment name
public void afterPropertiesSet()
throws Exception
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanException
protected org.apache.ibatis.session.SqlSessionFactory buildSqlSessionFactory()
throws IOException
SqlSessionFactory instance.
The default implementation uses the standard MyBatis XMLConfigBuilder API to build a
SqlSessionFactory instance based on an Reader.
IOException - if loading the config file failed
public org.apache.ibatis.session.SqlSessionFactory getObject()
throws Exception
getObject in interface org.springframework.beans.factory.FactoryBean<org.apache.ibatis.session.SqlSessionFactory>Exceptionpublic Class<? extends org.apache.ibatis.session.SqlSessionFactory> getObjectType()
getObjectType in interface org.springframework.beans.factory.FactoryBean<org.apache.ibatis.session.SqlSessionFactory>public boolean isSingleton()
isSingleton in interface org.springframework.beans.factory.FactoryBean<org.apache.ibatis.session.SqlSessionFactory>public void onApplicationEvent(org.springframework.context.ApplicationEvent event)
onApplicationEvent in interface org.springframework.context.ApplicationListener<org.springframework.context.ApplicationEvent>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||