List of usage examples for org.springframework.batch.item.database JdbcCursorItemReader setRowMapper
public void setRowMapper(RowMapper<T> rowMapper)
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); }