org.springframework.batch.item.database.support
Class SqlPagingQueryUtils

java.lang.Object
  extended by org.springframework.batch.item.database.support.SqlPagingQueryUtils

public class SqlPagingQueryUtils
extends Object

Utility class that generates the actual SQL statements used by query providers.

Since:
2.0
Author:
Thomas Risberg, Dave Syer

Constructor Summary
SqlPagingQueryUtils()
           
 
Method Summary
static String generateLimitJumpToQuery(AbstractSqlPagingQueryProvider provider, String limitClause)
          Generate SQL query string using a LIMIT clause
static String generateLimitSqlQuery(AbstractSqlPagingQueryProvider provider, boolean remainingPageQuery, String limitClause)
          Generate SQL query string using a LIMIT clause
static String generateRowNumSqlQuery(AbstractSqlPagingQueryProvider provider, boolean remainingPageQuery, String rowNumClause)
          Generate SQL query string using a ROW_NUM condition
static String generateRowNumSqlQuery(AbstractSqlPagingQueryProvider provider, String selectClause, boolean remainingPageQuery, String rowNumClause)
          Generate SQL query string using a ROW_NUM condition
static String generateRowNumSqlQueryWithNesting(AbstractSqlPagingQueryProvider provider, String selectClause, boolean remainingPageQuery, String rowNumClause)
           
static String generateRowNumSqlQueryWithNesting(AbstractSqlPagingQueryProvider provider, String innerSelectClause, String outerSelectClause, boolean remainingPageQuery, String rowNumClause)
           
static String generateTopJumpToQuery(AbstractSqlPagingQueryProvider provider, String topClause)
          Generate SQL query string using a TOP clause
static String generateTopSqlQuery(AbstractSqlPagingQueryProvider provider, boolean remainingPageQuery, String topClause)
          Generate SQL query string using a TOP clause
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SqlPagingQueryUtils

public SqlPagingQueryUtils()
Method Detail

generateLimitSqlQuery

public static String generateLimitSqlQuery(AbstractSqlPagingQueryProvider provider,
                                           boolean remainingPageQuery,
                                           String limitClause)
Generate SQL query string using a LIMIT clause

Parameters:
provider - AbstractSqlPagingQueryProvider providing the implementation specifics
remainingPageQuery - is this query for the ramining pages (true) as opposed to the first page (false)
limitClause - the implementation specific limit clause to be used
Returns:
the generated query

generateTopSqlQuery

public static String generateTopSqlQuery(AbstractSqlPagingQueryProvider provider,
                                         boolean remainingPageQuery,
                                         String topClause)
Generate SQL query string using a TOP clause

Parameters:
provider - AbstractSqlPagingQueryProvider providing the implementation specifics
remainingPageQuery - is this query for the ramining pages (true) as opposed to the first page (false)
topClause - the implementation specific top clause to be used
Returns:
the generated query

generateRowNumSqlQuery

public static String generateRowNumSqlQuery(AbstractSqlPagingQueryProvider provider,
                                            boolean remainingPageQuery,
                                            String rowNumClause)
Generate SQL query string using a ROW_NUM condition

Parameters:
provider - AbstractSqlPagingQueryProvider providing the implementation specifics
remainingPageQuery - is this query for the remaining pages (true) as opposed to the first page (false)
rowNumClause - the implementation specific row num clause to be used
Returns:
the generated query

generateRowNumSqlQuery

public static String generateRowNumSqlQuery(AbstractSqlPagingQueryProvider provider,
                                            String selectClause,
                                            boolean remainingPageQuery,
                                            String rowNumClause)
Generate SQL query string using a ROW_NUM condition

Parameters:
provider - AbstractSqlPagingQueryProvider providing the implementation specifics
remainingPageQuery - is this query for the remaining pages (true) as opposed to the first page (false)
rowNumClause - the implementation specific row num clause to be used
Returns:
the generated query

generateRowNumSqlQueryWithNesting

public static String generateRowNumSqlQueryWithNesting(AbstractSqlPagingQueryProvider provider,
                                                       String selectClause,
                                                       boolean remainingPageQuery,
                                                       String rowNumClause)

generateRowNumSqlQueryWithNesting

public static String generateRowNumSqlQueryWithNesting(AbstractSqlPagingQueryProvider provider,
                                                       String innerSelectClause,
                                                       String outerSelectClause,
                                                       boolean remainingPageQuery,
                                                       String rowNumClause)

generateLimitJumpToQuery

public static String generateLimitJumpToQuery(AbstractSqlPagingQueryProvider provider,
                                              String limitClause)
Generate SQL query string using a LIMIT clause

Parameters:
provider - AbstractSqlPagingQueryProvider providing the implementation specifics
limitClause - the implementation specific top clause to be used
Returns:
the generated query

generateTopJumpToQuery

public static String generateTopJumpToQuery(AbstractSqlPagingQueryProvider provider,
                                            String topClause)
Generate SQL query string using a TOP clause

Parameters:
provider - AbstractSqlPagingQueryProvider providing the implementation specifics
topClause - the implementation specific top clause to be used
Returns:
the generated query


Copyright © 2013 SpringSource. All Rights Reserved.