Class MyBatisPagingItemReader<T>

  • All Implemented Interfaces:
    org.springframework.batch.item.ItemReader<T>, org.springframework.batch.item.ItemStream, org.springframework.batch.item.ItemStreamReader<T>, org.springframework.beans.factory.InitializingBean

    public class MyBatisPagingItemReader<T>
    extends org.springframework.batch.item.database.AbstractPagingItemReader<T>
    org.springframework.batch.item.ItemReader for reading database records using MyBatis in a paging fashion.

    Provided to facilitate the migration from Spring-Batch iBATIS 2 page item readers to MyBatis 3.

    Since:
    1.1.0
    Author:
    Eduardo Macarron
    • Field Summary

      • Fields inherited from class org.springframework.batch.item.database.AbstractPagingItemReader

        logger, results
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void afterPropertiesSet()
      Check mandatory properties.
      protected void doJumpToPage​(int itemIndex)  
      protected void doReadPage()  
      void setParameterValues​(java.util.Map<java.lang.String,​java.lang.Object> parameterValues)
      The parameter values to be used for the query execution.
      void setQueryId​(java.lang.String queryId)
      Public setter for the statement id identifying the statement in the SqlMap configuration file.
      void setSqlSessionFactory​(org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory)
      Public setter for SqlSessionFactory for injection purposes.
      • Methods inherited from class org.springframework.batch.item.database.AbstractPagingItemReader

        doClose, doOpen, doRead, getPage, getPageSize, jumpToItem, setPageSize
      • Methods inherited from class org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader

        close, getCurrentItemCount, isSaveState, open, read, setCurrentItemCount, setMaxItemCount, setSaveState, update
      • Methods inherited from class org.springframework.batch.item.ItemStreamSupport

        getExecutionContextKey, setExecutionContextName, setName
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MyBatisPagingItemReader

        public MyBatisPagingItemReader()
    • Method Detail

      • setSqlSessionFactory

        public void setSqlSessionFactory​(org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory)
        Public setter for SqlSessionFactory for injection purposes.
        Parameters:
        sqlSessionFactory - a factory object for the SqlSession.
      • setQueryId

        public void setQueryId​(java.lang.String queryId)
        Public setter for the statement id identifying the statement in the SqlMap configuration file.
        Parameters:
        queryId - the id for the statement
      • setParameterValues

        public void setParameterValues​(java.util.Map<java.lang.String,​java.lang.Object> parameterValues)
        The parameter values to be used for the query execution.
        Parameters:
        parameterValues - the values keyed by the parameter named used in the query string.
      • afterPropertiesSet

        public void afterPropertiesSet()
                                throws java.lang.Exception
        Check mandatory properties.
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
        Overrides:
        afterPropertiesSet in class org.springframework.batch.item.database.AbstractPagingItemReader<T>
        Throws:
        java.lang.Exception
        See Also:
        InitializingBean.afterPropertiesSet()
      • doReadPage

        protected void doReadPage()
        Specified by:
        doReadPage in class org.springframework.batch.item.database.AbstractPagingItemReader<T>
      • doJumpToPage

        protected void doJumpToPage​(int itemIndex)
        Specified by:
        doJumpToPage in class org.springframework.batch.item.database.AbstractPagingItemReader<T>