org.mybatis.spring.mapper
Class MapperFactoryBean<T>

java.lang.Object
  extended by org.springframework.dao.support.DaoSupport
      extended by org.mybatis.spring.support.SqlSessionDaoSupport
          extended by org.mybatis.spring.mapper.MapperFactoryBean<T>
All Implemented Interfaces:
org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean

public class MapperFactoryBean<T>
extends SqlSessionDaoSupport
implements org.springframework.beans.factory.FactoryBean<T>

BeanFactory that enables injection of MyBatis mapper interfaces. It can be set up with a SqlSessionFactory or a pre-configured SqlSessionTemplate.

Sample configuration:

 <bean id="baseMapper" class="org.mybatis.spring.mapper.MapperFactoryBean" abstract="true" lazy-init="true">
     <property name="sqlSessionFactory" ref="sqlSessionFactory" />
   </bean>

   <bean id="oneMapper" parent="baseMapper">
     <property name="mapperInterface" value="my.package.MyMapperInterface" />
   </bean>

   <bean id="anotherMapper" parent="baseMapper">
     <property name="mapperInterface" value="my.package.MyAnotherMapperInterface" />
   </bean>
 
 

Note that this factory can only inject interfaces, not concrete classes.

Version:
$Id: MapperFactoryBean.java 4881 2012-03-12 09:55:24Z simone.tripodi $
See Also:
SqlSessionTemplate

Field Summary
 
Fields inherited from class org.springframework.dao.support.DaoSupport
logger
 
Constructor Summary
MapperFactoryBean()
           
 
Method Summary
protected  void checkDaoConfig()
          
 T getObject()
          
 Class<T> getObjectType()
          
 boolean isSingleton()
          
 void setAddToConfig(boolean addToConfig)
          If addToConfig is false the mapper will not be added to MyBatis.
 void setMapperInterface(Class<T> mapperInterface)
          Sets the mapper interface of the MyBatis mapper
 
Methods inherited from class org.mybatis.spring.support.SqlSessionDaoSupport
getSqlSession, setSqlSessionFactory, setSqlSessionTemplate
 
Methods inherited from class org.springframework.dao.support.DaoSupport
afterPropertiesSet, initDao
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MapperFactoryBean

public MapperFactoryBean()
Method Detail

setMapperInterface

public void setMapperInterface(Class<T> mapperInterface)
Sets the mapper interface of the MyBatis mapper

Parameters:
mapperInterface - class of the interface

setAddToConfig

public void setAddToConfig(boolean addToConfig)
If addToConfig is false the mapper will not be added to MyBatis. This means it must have been included in mybatis-config.xml.

If it is true, the mapper will be added to MyBatis in the case it is not already registered.

By default addToCofig is true.

Parameters:
addToConfig -

checkDaoConfig

protected void checkDaoConfig()

Overrides:
checkDaoConfig in class SqlSessionDaoSupport

getObject

public T getObject()
            throws Exception

Specified by:
getObject in interface org.springframework.beans.factory.FactoryBean<T>
Throws:
Exception

getObjectType

public Class<T> getObjectType()

Specified by:
getObjectType in interface org.springframework.beans.factory.FactoryBean<T>

isSingleton

public boolean isSingleton()

Specified by:
isSingleton in interface org.springframework.beans.factory.FactoryBean<T>


Copyright © 2010-2012 MyBatis.org. All Rights Reserved.