Example usage for org.springframework.batch.item.database JdbcCursorItemReader JdbcCursorItemReader

List of usage examples for org.springframework.batch.item.database JdbcCursorItemReader JdbcCursorItemReader

Introduction

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

Prototype

public JdbcCursorItemReader() 

Source Link

Usage

From source file:io.pivotal.dataflow.task.app.jdbcgemfire.common.JdbcGemfireConfiguration.java

@Bean
@StepScope//from   www. j a  v  a2 s .c  o  m
public JdbcCursorItemReader<Map<String, Object>> jdbcCursorItemReader() throws Exception {
    JdbcCursorItemReader<Map<String, Object>> jdbcCursorItemReader = new JdbcCursorItemReader<>();
    JdbcColumnToPojoRowMapper rowMapper = new JdbcColumnToPojoRowMapper();
    jdbcCursorItemReader.setDataSource(this.jdbcGemfireDataSource);
    jdbcCursorItemReader.setSql(this.props.getSql());
    jdbcCursorItemReader.setFetchSize(this.props.getCommitInterval());
    jdbcCursorItemReader.setRowMapper(rowMapper);
    jdbcCursorItemReader.afterPropertiesSet();
    return jdbcCursorItemReader;
}

From source file:de.langmi.spring.batch.examples.readers.support.CompositeCursorItemReaderTest.java

/**
 * Helpermethod to create a JdbcCursorItemReader, sets the name too, to make restart
 * scenario possible - otherwise one reader would overwrite the restart data from
 * the other.//  w ww .  j a v  a  2 s  .  c om
 * 
 * @param dataSource
 * @param name for restart
 * @return
 * @throws Exception 
 */
private AbstractCursorItemReader<String> createJdbcCursorItemReader(DataSource dataSource, String name)
        throws Exception {
    JdbcCursorItemReader<String> jcir = new JdbcCursorItemReader<String>();
    jcir.setDataSource(dataSource);
    jcir.setSql(SELECT);
    jcir.setRowMapper(new RowMapper() {

        @Override
        public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
            return rs.getString(1);
        }
    });
    jcir.setName(name);
    jcir.setSaveState(true);
    // jcir.afterPropertiesSet(); not mandatory yet, just checks dataSource

    return jcir;
}

From source file:org.cloudfoundry.workers.stocks.batch.BatchConfiguration.java

/**
 * The Spring Batch {@link ItemReader item reader implementation} looks up
 * which stock symbols need to be searched from the <CODE>STOCKS</CODE>
 * table./*  w  w  w. j a  va  2  s.  com*/
 */
@Bean
public ItemReader<String> reader() {

    RowMapper<String> rowMapper = new RowMapper<String>() {
        @Override
        public String mapRow(ResultSet rs, int rowNum) throws SQLException {
            return rs.getString("symbol");
        }
    };
    JdbcCursorItemReader<String> readerOfSymbols = new JdbcCursorItemReader<String>();
    readerOfSymbols.setSql("SELECT SYMBOL FROM STOCKS");
    readerOfSymbols.setRowMapper(rowMapper);
    readerOfSymbols.setDataSource(dsConfig.dataSource());
    return readerOfSymbols;
}

From source file:info.raack.appliancelabeler.data.JDBCDatabase.java

@Override
public ItemReader<SecondData> getEnergyMeasurementReaderForMonitor(EnergyMonitor energyMonitor, Date start,
        Date end, int ticks) {
    EnergyMeasurementQueryItems items = getEnergyMeasurementQueryItems(energyMonitor, start, end, ticks);

    JdbcCursorItemReader<SecondData> dataReader = new JdbcCursorItemReader<SecondData>();
    dataReader.setDataSource(dataSource);
    dataReader.setRowMapper(secondDataRowMapper);

    // crucial if using mysql to ensure that results are streamed
    dataReader.setFetchSize(Integer.MIN_VALUE);
    dataReader.setVerifyCursorPosition(false);

    ParsedSql parsedSql = NamedParameterUtils.parseSqlStatement(items.sql);
    String sql = NamedParameterUtils.substituteNamedParameters(parsedSql, items.parameters);
    ListPreparedStatementSetter listPreparedStatementSetter = new ListPreparedStatementSetter();
    listPreparedStatementSetter.setParameters(
            Arrays.asList(NamedParameterUtils.buildValueArray(parsedSql, items.parameters, null)));
    dataReader.setPreparedStatementSetter(listPreparedStatementSetter);
    dataReader.setSql(sql);/*from w  w  w.j  a v  a  2  s  .  co m*/

    ExecutionContext executionContext = new ExecutionContext();
    dataReader.open(executionContext);

    return new SpringItemReaderAdapter<SecondData>(dataReader);
}