diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcPagingItemReader.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcPagingItemReader.java index 0fbc0ef7e..c47b0efe5 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcPagingItemReader.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcPagingItemReader.java @@ -23,7 +23,6 @@ import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowCallbackHandler; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.simple.SimpleJdbcTemplate; -import org.springframework.jdbc.core.simple.ParameterizedRowMapper; import javax.sql.DataSource; import java.util.ArrayList; @@ -67,7 +66,7 @@ public class JdbcPagingItemReader extends AbstractPagingItemReader impleme private SimpleJdbcTemplate simpleJdbcTemplate; - private ParameterizedRowMapper parameterizedRowMapper; + private RowMapper rowMapper; private String firstPageSql; @@ -105,10 +104,10 @@ public class JdbcPagingItemReader extends AbstractPagingItemReader impleme /** * The row mapper implementation to be used by this reader * - * @param parameterizedRowMapper a {@link org.springframework.jdbc.core.simple.ParameterizedRowMapper} implementation + * @param rowMapper a {@link org.springframework.jdbc.core.simple.ParameterizedRowMapper} implementation */ - public void setParameterizedRowMapper(ParameterizedRowMapper parameterizedRowMapper) { - this.parameterizedRowMapper = parameterizedRowMapper; + public void setRowMapper(RowMapper rowMapper) { + this.rowMapper = rowMapper; } /** @@ -161,9 +160,10 @@ public class JdbcPagingItemReader extends AbstractPagingItemReader impleme simpleJdbcTemplate.getNamedParameterJdbcOperations().query(firstPageSql, getParameterMap(parameterValues, null), new RowCallbackHandler() { + @SuppressWarnings("unchecked") public void processRow(ResultSet rs) throws SQLException { startAfterValue = rs.getObject(1); - results.add(parameterizedRowMapper.mapRow(rs, results.size())); + results.add((T) rowMapper.mapRow(rs, results.size())); } }); } @@ -251,9 +251,10 @@ public class JdbcPagingItemReader extends AbstractPagingItemReader impleme } private class PagingRowCallbackHandler implements RowCallbackHandler { + @SuppressWarnings("unchecked") public void processRow(ResultSet rs) throws SQLException { startAfterValue = rs.getObject(1); - results.add(parameterizedRowMapper.mapRow(rs, results.size())); + results.add((T) rowMapper.mapRow(rs, results.size())); } } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderClassicParameterTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderClassicParameterTests.java index 875af55de..b116bb3f5 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderClassicParameterTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderClassicParameterTests.java @@ -28,7 +28,7 @@ public class JdbcPagingItemReaderClassicParameterTests extends AbstractPagingIte queryProvider.setSortKey("ID"); reader.setParameterValues(Collections.singletonMap("limit", 3)); reader.setQueryProvider(queryProvider); - reader.setParameterizedRowMapper( + reader.setRowMapper( new ParameterizedRowMapper() { public Foo mapRow(ResultSet rs, int i) throws SQLException { Foo foo = new Foo(); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderCommonTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderCommonTests.java index 59c61c4ea..8a8956a66 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderCommonTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderCommonTests.java @@ -31,7 +31,7 @@ public class JdbcPagingItemReaderCommonTests extends AbstractItemStreamItemReade queryProvider.setFromClause("from T_FOOS"); queryProvider.setSortKey("ID"); reader.setQueryProvider(queryProvider); - reader.setParameterizedRowMapper( + reader.setRowMapper( new ParameterizedRowMapper() { public Foo mapRow(ResultSet rs, int i) throws SQLException { Foo foo = new Foo(); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderIntegrationTests.java index d235f1774..8d22328f2 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderIntegrationTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderIntegrationTests.java @@ -29,7 +29,7 @@ public class JdbcPagingItemReaderIntegrationTests extends AbstractDataSourceItem queryProvider.setFromClause("from T_FOOS"); queryProvider.setSortKey("ID"); inputSource.setQueryProvider(queryProvider); - inputSource.setParameterizedRowMapper( + inputSource.setRowMapper( new ParameterizedRowMapper() { public Foo mapRow(ResultSet rs, int i) throws SQLException { Foo foo = new Foo(); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderNamedParameterTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderNamedParameterTests.java index 924aeac44..36f06b207 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderNamedParameterTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/JdbcPagingItemReaderNamedParameterTests.java @@ -27,7 +27,7 @@ public class JdbcPagingItemReaderNamedParameterTests extends AbstractPagingItemR queryProvider.setSortKey("ID"); reader.setParameterValues(Collections.singletonMap("limit", 3)); reader.setQueryProvider(queryProvider); - reader.setParameterizedRowMapper( + reader.setRowMapper( new ParameterizedRowMapper() { public Foo mapRow(ResultSet rs, int i) throws SQLException { Foo foo = new Foo();