List of usage examples for org.springframework.batch.item.database Order DESCENDING
Order DESCENDING
To view the source code for org.springframework.batch.item.database Order DESCENDING.
Click Source Link
From source file:admin.service.JdbcSearchableJobExecutionDao.java
/** * @return a {@link PagingQueryProvider} with a where clause to narrow the * query// w ww . j av a 2 s . c o m * @throws Exception */ private PagingQueryProvider getPagingQueryProvider(String fromClause, String whereClause) throws Exception { SqlPagingQueryProviderFactoryBean factory = new SqlPagingQueryProviderFactoryBean(); factory.setDataSource(dataSource); fromClause = "%PREFIX%JOB_EXECUTION E, %PREFIX%JOB_INSTANCE I" + (fromClause == null ? "" : ", " + fromClause); factory.setFromClause(getQuery(fromClause)); factory.setSelectClause(FIELDS); Map<String, Order> sortKeys = new HashMap<String, Order>(); sortKeys.put("JOB_EXECUTION_ID", Order.DESCENDING); factory.setSortKeys(sortKeys); whereClause = "E.JOB_INSTANCE_ID=I.JOB_INSTANCE_ID" + (whereClause == null ? "" : " and " + whereClause); factory.setWhereClause(whereClause); return (PagingQueryProvider) factory.getObject(); }
From source file:admin.service.JdbcSearchableStepExecutionDao.java
/** * @return a {@link PagingQueryProvider} with a where clause to narrow the * query// ww w . j a va2s . co m * @throws Exception */ private PagingQueryProvider getPagingQueryProvider(String whereClause) { SqlPagingQueryProviderFactoryBean factory = new SqlPagingQueryProviderFactoryBean(); factory.setDataSource(dataSource); factory.setFromClause( getQuery("%PREFIX%STEP_EXECUTION S, %PREFIX%JOB_EXECUTION J, %PREFIX%JOB_INSTANCE I")); factory.setSelectClause(FIELDS); Map<String, Order> sortKeys = new HashMap<String, Order>(); sortKeys.put("STEP_EXECUTION_ID", Order.DESCENDING); factory.setSortKeys(sortKeys); if (whereClause != null) { factory.setWhereClause(whereClause + " AND S.JOB_EXECUTION_ID = J.JOB_EXECUTION_ID AND J.JOB_INSTANCE_ID = I.JOB_INSTANCE_ID"); } try { return (PagingQueryProvider) factory.getObject(); } catch (Exception e) { throw new IllegalStateException("Unexpected exception creating paging query provide", e); } }
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 . j ava2 s.c o 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); }