List of usage examples for org.springframework.batch.item.database Order ASCENDING
Order ASCENDING
To view the source code for org.springframework.batch.item.database Order ASCENDING.
Click Source Link
From source file:io.spring.batch.configuration.JobConfiguration.java
@Bean @StepScope/* w w w . j av a2s . 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; }
From source file:org.springframework.batch.item.database.JdbcPagingItemReaderAsyncTests.java
protected ItemReader<Foo> getItemReader() throws Exception { JdbcPagingItemReader<Foo> reader = new JdbcPagingItemReader<Foo>(); reader.setDataSource(dataSource);/*ww w . ja va 2 s .com*/ SqlPagingQueryProviderFactoryBean factory = new SqlPagingQueryProviderFactoryBean(); factory.setDataSource(dataSource); factory.setSelectClause("select ID, NAME, VALUE"); factory.setFromClause("from T_FOOS"); Map<String, Order> sortKeys = new LinkedHashMap<String, Order>(); sortKeys.put("VALUE", Order.ASCENDING); factory.setSortKeys(sortKeys); reader.setQueryProvider(factory.getObject()); reader.setRowMapper(new RowMapper<Foo>() { @Override public Foo mapRow(ResultSet rs, int i) throws SQLException { Foo foo = new Foo(); foo.setId(rs.getInt(1)); foo.setName(rs.getString(2)); foo.setValue(rs.getInt(3)); return foo; } }); reader.setPageSize(PAGE_SIZE); reader.afterPropertiesSet(); reader.setSaveState(false); return reader; }
From source file:org.springframework.batch.item.database.JdbcPagingQueryIntegrationTests.java
@Test public void testQueryFromStartWithGroupBy() throws Exception { AbstractSqlPagingQueryProvider queryProvider = (AbstractSqlPagingQueryProvider) getPagingQueryProvider(); Map<String, Order> sortKeys = new LinkedHashMap<String, Order>(); sortKeys.put("NAME", Order.ASCENDING); sortKeys.put("CODE", Order.DESCENDING); queryProvider.setSortKeys(sortKeys); queryProvider.setSelectClause("select NAME, CODE, sum(VALUE)"); queryProvider.setGroupClause("NAME, CODE"); int count = 0; int total = 5; List<Map<String, Object>> list = jdbcTemplate.queryForList(queryProvider.generateFirstPageQuery(pageSize)); logger.debug("First page result: " + list); assertEquals(pageSize, list.size()); count += pageSize;//from w w w . jav a 2 s .co m Map<String, Object> oldValues = null; while (count < total) { Map<String, Object> startAfterValues = getStartAfterValues(queryProvider, list); assertNotSame(oldValues, startAfterValues); list = jdbcTemplate.queryForList(queryProvider.generateRemainingPagesQuery(pageSize), getParameterList(null, startAfterValues).toArray()); count += list.size(); if (list.size() < pageSize) { assertEquals(1, list.size()); } else { assertEquals(pageSize, list.size()); } oldValues = startAfterValues; } assertEquals(total, count); }
From source file:org.springframework.batch.item.database.JdbcPagingQueryIntegrationTests.java
protected PagingQueryProvider getPagingQueryProvider() throws Exception { SqlPagingQueryProviderFactoryBean factory = new SqlPagingQueryProviderFactoryBean(); factory.setDataSource(dataSource);/*from w w w . ja v a2 s. c om*/ factory.setSelectClause("select ID, NAME, VALUE"); factory.setFromClause("from T_FOOS"); Map<String, Order> sortKeys = new LinkedHashMap<String, Order>(); sortKeys.put("VALUE", Order.ASCENDING); factory.setSortKeys(sortKeys); return factory.getObject(); }
From source file:org.springframework.batch.item.database.JdbcPagingRestartIntegrationTests.java
protected ItemReader<Foo> getItemReader() throws Exception { JdbcPagingItemReader<Foo> reader = new JdbcPagingItemReader<Foo>(); reader.setDataSource(dataSource);/* w w w .j a va2 s . co m*/ SqlPagingQueryProviderFactoryBean factory = new SqlPagingQueryProviderFactoryBean(); factory.setDataSource(dataSource); factory.setSelectClause("select ID, NAME, VALUE"); factory.setFromClause("from T_FOOS"); Map<String, Order> sortKeys = new LinkedHashMap<String, Order>(); sortKeys.put("VALUE", Order.ASCENDING); factory.setSortKeys(sortKeys); reader.setQueryProvider(factory.getObject()); reader.setRowMapper(new RowMapper<Foo>() { @Override public Foo mapRow(ResultSet rs, int i) throws SQLException { Foo foo = new Foo(); foo.setId(rs.getInt(1)); foo.setName(rs.getString(2)); foo.setValue(rs.getInt(3)); return foo; } }); reader.setPageSize(pageSize); reader.afterPropertiesSet(); reader.setSaveState(true); return reader; }