@Override protected ItemReader<Foo> createItemReader() throws Exception { JdbcPagingItemReader<Foo> inputSource = new JdbcPagingItemReader<>(); inputSource.setDataSource(dataSource); HsqlPagingQueryProvider queryProvider = new HsqlPagingQueryProvider(); queryProvider.setSelectClause("select ID, NAME, VALUE"); queryProvider.setFromClause("from T_FOOS"); Map<String, Order> sortKeys = new LinkedHashMap<>(); sortKeys.put("VALUE", Order.ASCENDING); sortKeys.put("NAME", Order.DESCENDING); queryProvider.setSortKeys(sortKeys); inputSource.setQueryProvider(queryProvider); inputSource.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; } } ); inputSource.setPageSize(3); inputSource.afterPropertiesSet(); inputSource.setSaveState(true); return inputSource; }
@Override protected void pointToEmptyInput(ItemReader<Foo> tested) throws Exception { JdbcPagingItemReader<Foo> reader = (JdbcPagingItemReader<Foo>) tested; reader.close(); reader.setDataSource(dataSource); HsqlPagingQueryProvider queryProvider = new HsqlPagingQueryProvider(); queryProvider.setSelectClause("select ID, NAME, VALUE"); queryProvider.setFromClause("from T_FOOS"); queryProvider.setWhereClause("where ID = -1"); Map<String, Order> sortKeys = new LinkedHashMap<>(); sortKeys.put("ID", Order.ASCENDING); queryProvider.setSortKeys(sortKeys); reader.setQueryProvider(queryProvider); reader.setPageSize(3); reader.afterPropertiesSet(); reader.open(new ExecutionContext()); }
reader.setDataSource(dataSource); HsqlPagingQueryProvider queryProvider = new HsqlPagingQueryProvider(); queryProvider.setSelectClause("select ID, NAME, VALUE"); queryProvider.setFromClause("from T_FOOS"); queryProvider.setWhereClause("where VALUE >= :limit");
protected ItemReader<Foo> getItemReader() throws Exception { JdbcPagingItemReader<Foo> reader = new JdbcPagingItemReader<>(); reader.setDataSource(dataSource); HsqlPagingQueryProvider queryProvider = new HsqlPagingQueryProvider(); queryProvider.setSelectClause("select ID, NAME, VALUE"); queryProvider.setFromClause("from T_FOOS"); Map<String, Order> sortKeys = new LinkedHashMap<>(); sortKeys.put("ID", Order.ASCENDING); queryProvider.setSortKeys(sortKeys); reader.setQueryProvider(queryProvider); 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; }
@Override protected ItemReader<Foo> getItemReader() throws Exception { JdbcPagingItemReader<Foo> reader = new JdbcPagingItemReader<>(); reader.setDataSource(dataSource); HsqlPagingQueryProvider queryProvider = new HsqlPagingQueryProvider(); queryProvider.setSelectClause("select ID, NAME, VALUE"); queryProvider.setFromClause("from T_FOOS"); Map<String, Order> sortKeys = new LinkedHashMap<>(); sortKeys.put("ID", Order.ASCENDING); queryProvider.setSortKeys(sortKeys); reader.setQueryProvider(queryProvider); 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(3); reader.afterPropertiesSet(); reader.setSaveState(true); return reader; }
reader.setDataSource(dataSource); HsqlPagingQueryProvider queryProvider = new HsqlPagingQueryProvider(); queryProvider.setSelectClause("select ID, NAME, VALUE"); queryProvider.setFromClause("from T_FOOS"); queryProvider.setWhereClause("where VALUE >= ?");
@Override protected ItemReader<Foo> createItemReader() throws Exception { JdbcPagingItemReader<Foo> inputSource = new JdbcPagingItemReader<>(); inputSource.setDataSource(dataSource); HsqlPagingQueryProvider queryProvider = new HsqlPagingQueryProvider(); queryProvider.setSelectClause("select ID, NAME, VALUE"); queryProvider.setFromClause("from T_FOOS"); Map<String, Order> sortKeys = new LinkedHashMap<>(); sortKeys.put("ID", Order.ASCENDING); queryProvider.setSortKeys(sortKeys); inputSource.setQueryProvider(queryProvider); inputSource.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; } } ); inputSource.setPageSize(3); inputSource.afterPropertiesSet(); inputSource.setSaveState(true); return inputSource; }