Example usage for org.springframework.batch.item.database.support MySqlPagingQueryProvider setFromClause

List of usage examples for org.springframework.batch.item.database.support MySqlPagingQueryProvider setFromClause

Introduction

In this page you can find the example usage for org.springframework.batch.item.database.support MySqlPagingQueryProvider setFromClause.

Prototype

public void setFromClause(String fromClause) 

Source Link

Usage

From source file:io.spring.batch.configuration.JobConfiguration.java

@Bean
@StepScope/*from www. ja v a  2  s  . c  o  m*/
public JdbcPagingItemReader<Customer> pagingItemReader(
        @Value("#{stepExecutionContext['minValue']}") Long minValue,
        @Value("#{stepExecutionContext['maxValue']}") Long maxValue) {
    System.out.println("reading " + minValue + " to " + maxValue);
    JdbcPagingItemReader<Customer> reader = new JdbcPagingItemReader<>();

    reader.setDataSource(this.dataSource);
    reader.setFetchSize(1000);
    reader.setRowMapper(new CustomerRowMapper());

    MySqlPagingQueryProvider queryProvider = new MySqlPagingQueryProvider();
    queryProvider.setSelectClause("id, firstName, lastName, birthdate");
    queryProvider.setFromClause("from customer");
    queryProvider.setWhereClause("where id >= " + minValue + " and id <= " + maxValue);

    Map<String, Order> sortKeys = new HashMap<>(1);

    sortKeys.put("id", Order.ASCENDING);

    queryProvider.setSortKeys(sortKeys);

    reader.setQueryProvider(queryProvider);

    return reader;
}