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

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

Introduction

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

Prototype

public void setRowMapper(RowMapper<T> rowMapper) 

Source Link

Document

Set the RowMapper to be used for all calls to read().

Usage

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.//from w  ww  . ja  v  a 2  s . com
 * 
 * @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./*from  www  .j  a  v a 2 s .c  o  m*/
 */
@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:io.pivotal.dataflow.task.app.jdbcgemfire.common.JdbcGemfireConfiguration.java

@Bean
@StepScope//from  w  w  w .ja  va2 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: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 ww w .  j  a  v  a  2  s. co  m

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

    return new SpringItemReaderAdapter<SecondData>(dataReader);
}