Interface PagingQueryProvider

All Known Implementing Classes:
AbstractSqlPagingQueryProvider, Db2PagingQueryProvider, DerbyPagingQueryProvider, H2PagingQueryProvider, HanaPagingQueryProvider, HsqlPagingQueryProvider, MariaDBPagingQueryProvider, MySqlPagingQueryProvider, OraclePagingQueryProvider, PostgresPagingQueryProvider, SqlitePagingQueryProvider, SqlServerPagingQueryProvider, SqlWindowingPagingQueryProvider, SybasePagingQueryProvider

public interface PagingQueryProvider
Interface defining the functionality to be provided for generating paging queries for use with Paging Item Readers.
Since:
2.0
Author:
Thomas Risberg, Michael Minella
  • Method Details

    • init

      void init(DataSource dataSource) throws Exception
      Initialize the query provider using the provided DataSource if necessary.
      Parameters:
      dataSource - DataSource to use for any initialization
      Throws:
      Exception - for errors when initializing
    • generateFirstPageQuery

      String generateFirstPageQuery(int pageSize)
      Generate the query that will provide the first page, limited by the page size.
      Parameters:
      pageSize - number of rows to read for each page
      Returns:
      the generated query
    • generateRemainingPagesQuery

      String generateRemainingPagesQuery(int pageSize)
      Generate the query that will provide the first page, limited by the page size.
      Parameters:
      pageSize - number of rows to read for each page
      Returns:
      the generated query
    • getParameterCount

      int getParameterCount()
      The number of parameters that are declared in the query
      Returns:
      number of parameters
    • isUsingNamedParameters

      boolean isUsingNamedParameters()
      Indicate whether the generated queries use named parameter syntax.
      Returns:
      true if named parameter syntax is used
    • getSortKeys

      Map<String,Order> getSortKeys()
      The sort keys. A Map of the columns that make up the key and a Boolean indicating ascending or descending (ascending = true).
      Returns:
      the sort keys used to order the query
    • getSortKeyPlaceHolder

      String getSortKeyPlaceHolder(String keyName)
      Returns either a String to be used as the named placeholder for a sort key value (based on the column name) or a ? for unnamed parameters.
      Parameters:
      keyName - The sort key name
      Returns:
      The string to be used for a parameterized query.
    • getSortKeysWithoutAliases

      Map<String,Order> getSortKeysWithoutAliases()
      The sort key (unique single column name) without alias.
      Returns:
      the sort key used to order the query (without alias)