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

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

Introduction

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

Prototype

public void setWhereClause(String whereClause) 

Source Link

Usage

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

@Bean
@StepScope// ww w .j  a va2  s .  c  om
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;
}