From 79cf53af3d8b8d7e3f52f6cdc780585212267631 Mon Sep 17 00:00:00 2001 From: shica Date: Sun, 25 Sep 2022 19:39:58 +0800 Subject: [PATCH 1/2] make MyBatisCursorItemReader & MyBatisPagingItemReader support lazy/dynamic query parameter --- .../spring/batch/MyBatisCursorItemReader.java | 17 +++++++++++++++++ .../spring/batch/MyBatisPagingItemReader.java | 17 +++++++++++++++++ .../MyBatisCursorItemReaderBuilder.java | 18 ++++++++++++++++++ .../MyBatisPagingItemReaderBuilder.java | 18 ++++++++++++++++++ .../MyBatisCursorItemReaderBuilderTest.java | 10 +++++++++- .../MyBatisPagingItemReaderBuilderTest.java | 6 ++++++ 6 files changed, 85 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/mybatis/spring/batch/MyBatisCursorItemReader.java b/src/main/java/org/mybatis/spring/batch/MyBatisCursorItemReader.java index 495dcfed54..038646c6fc 100644 --- a/src/main/java/org/mybatis/spring/batch/MyBatisCursorItemReader.java +++ b/src/main/java/org/mybatis/spring/batch/MyBatisCursorItemReader.java @@ -21,6 +21,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; +import java.util.function.Supplier; import org.apache.ibatis.cursor.Cursor; import org.apache.ibatis.session.ExecutorType; @@ -41,6 +42,7 @@ public class MyBatisCursorItemReader extends AbstractItemCountingItemStreamIt private SqlSession sqlSession; private Map parameterValues; + private Supplier> parameterSupplier; private Cursor cursor; private Iterator cursorIterator; @@ -65,6 +67,11 @@ protected void doOpen() throws Exception { parameters.putAll(parameterValues); } + Map dynamicParameters; + if (parameterSupplier != null && (dynamicParameters = parameterSupplier.get()) != null) { + parameters.putAll(dynamicParameters); + } + sqlSession = sqlSessionFactory.openSession(ExecutorType.SIMPLE); cursor = sqlSession.selectCursor(queryId, parameters); cursorIterator = cursor.iterator(); @@ -121,4 +128,14 @@ public void setQueryId(String queryId) { public void setParameterValues(Map parameterValues) { this.parameterValues = parameterValues; } + + /** + * The parameter supplier used to get parameter values for the query execution. + * + * @param parameterSupplier + * the supplier used to get values keyed by the parameter named used in the query string. + */ + public void setParameterSupplier(Supplier> parameterSupplier) { + this.parameterSupplier = parameterSupplier; + } } diff --git a/src/main/java/org/mybatis/spring/batch/MyBatisPagingItemReader.java b/src/main/java/org/mybatis/spring/batch/MyBatisPagingItemReader.java index 924d2fadc3..978b533555 100644 --- a/src/main/java/org/mybatis/spring/batch/MyBatisPagingItemReader.java +++ b/src/main/java/org/mybatis/spring/batch/MyBatisPagingItemReader.java @@ -21,6 +21,7 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.CopyOnWriteArrayList; +import java.util.function.Supplier; import org.apache.ibatis.session.ExecutorType; import org.apache.ibatis.session.SqlSession; @@ -47,6 +48,8 @@ public class MyBatisPagingItemReader extends AbstractPagingItemReader { private Map parameterValues; + private Supplier> parameterSupplier; + public MyBatisPagingItemReader() { setName(getShortName(MyBatisPagingItemReader.class)); } @@ -81,6 +84,16 @@ public void setParameterValues(Map parameterValues) { this.parameterValues = parameterValues; } + /** + * The parameter supplier used to get parameter values for the query execution. + * + * @param parameterSupplier + * the supplier used to get values keyed by the parameter named used in the query string. + */ + public void setParameterSupplier(Supplier> parameterSupplier) { + this.parameterSupplier = parameterSupplier; + } + /** * Check mandatory properties. * @@ -102,6 +115,10 @@ protected void doReadPage() { if (parameterValues != null) { parameters.putAll(parameterValues); } + Map dynamicParameters; + if (parameterSupplier != null && (dynamicParameters = parameterSupplier.get()) != null) { + parameters.putAll(dynamicParameters); + } parameters.put("_page", getPage()); parameters.put("_pagesize", getPageSize()); parameters.put("_skiprows", getPage() * getPageSize()); diff --git a/src/main/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilder.java b/src/main/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilder.java index de7785ba19..98f696a5d5 100644 --- a/src/main/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilder.java +++ b/src/main/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilder.java @@ -17,6 +17,7 @@ import java.util.Map; import java.util.Optional; +import java.util.function.Supplier; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.batch.MyBatisCursorItemReader; @@ -35,6 +36,7 @@ public class MyBatisCursorItemReaderBuilder { private SqlSessionFactory sqlSessionFactory; private String queryId; private Map parameterValues; + private Supplier> parameterSupplier; private Boolean saveState; private Integer maxItemCount; @@ -83,6 +85,21 @@ public MyBatisCursorItemReaderBuilder parameterValues(Map par return this; } + /** + * Set the parameter supplier to be used to get parameters for the query execution. + * + * @param parameterSupplier + * the parameter supplier to be used to get parameters for the query execution + * + * @return this instance for method chaining + * + * @see MyBatisCursorItemReader#setParameterSupplier(Supplier) + */ + public MyBatisCursorItemReaderBuilder parameterSupplier(Supplier> parameterSupplier) { + this.parameterSupplier = parameterSupplier; + return this; + } + /** * Configure if the state of the {@link org.springframework.batch.item.ItemStreamSupport} should be persisted within * the {@link org.springframework.batch.item.ExecutionContext} for restart purposes. @@ -124,6 +141,7 @@ public MyBatisCursorItemReader build() { reader.setSqlSessionFactory(this.sqlSessionFactory); reader.setQueryId(this.queryId); reader.setParameterValues(this.parameterValues); + reader.setParameterSupplier(this.parameterSupplier); Optional.ofNullable(this.saveState).ifPresent(reader::setSaveState); Optional.ofNullable(this.maxItemCount).ifPresent(reader::setMaxItemCount); return reader; diff --git a/src/main/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilder.java b/src/main/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilder.java index 1625bd1676..45b178ed9b 100644 --- a/src/main/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilder.java +++ b/src/main/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilder.java @@ -17,6 +17,7 @@ import java.util.Map; import java.util.Optional; +import java.util.function.Supplier; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.batch.MyBatisPagingItemReader; @@ -35,6 +36,7 @@ public class MyBatisPagingItemReaderBuilder { private SqlSessionFactory sqlSessionFactory; private String queryId; private Map parameterValues; + private Supplier> parameterSupplier; private Integer pageSize; private Boolean saveState; private Integer maxItemCount; @@ -84,6 +86,21 @@ public MyBatisPagingItemReaderBuilder parameterValues(Map par return this; } + /** + * Set the parameter supplier to be used to get parameters for the query execution. + * + * @param parameterSupplier + * the parameter supplier to be used to get parameters for the query execution + * + * @return this instance for method chaining + * + * @see MyBatisPagingItemReader#setParameterSupplier(Supplier) + */ + public MyBatisPagingItemReaderBuilder parameterSupplier(Supplier> parameterSupplier) { + this.parameterSupplier = parameterSupplier; + return this; + } + /** * The number of records to request per page/query. Defaults to 10. Must be greater than zero. * @@ -140,6 +157,7 @@ public MyBatisPagingItemReader build() { reader.setSqlSessionFactory(this.sqlSessionFactory); reader.setQueryId(this.queryId); reader.setParameterValues(this.parameterValues); + reader.setParameterSupplier(this.parameterSupplier); Optional.ofNullable(this.pageSize).ifPresent(reader::setPageSize); Optional.ofNullable(this.saveState).ifPresent(reader::setSaveState); Optional.ofNullable(this.maxItemCount).ifPresent(reader::setMaxItemCount); diff --git a/src/test/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilderTest.java b/src/test/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilderTest.java index e434af0346..78691c2cf7 100644 --- a/src/test/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilderTest.java +++ b/src/test/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilderTest.java @@ -17,7 +17,9 @@ import java.util.Arrays; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.apache.ibatis.cursor.Cursor; import org.apache.ibatis.session.ExecutorType; @@ -56,7 +58,10 @@ void setUp() { Mockito.when(this.sqlSessionFactory.openSession(ExecutorType.SIMPLE)).thenReturn(this.sqlSession); Mockito.when(this.cursor.iterator()).thenReturn(getFoos().iterator()); - Mockito.when(this.sqlSession.selectCursor("selectFoo", Collections.singletonMap("id", 1))).thenReturn(this.cursor); + Map parameters = new HashMap<>(); + parameters.put("id", 1); + parameters.put("name", "Doe"); + Mockito.when(this.sqlSession.selectCursor("selectFoo", parameters)).thenReturn(this.cursor); } @Test @@ -67,6 +72,7 @@ void testConfiguration() throws Exception { .sqlSessionFactory(this.sqlSessionFactory) .queryId("selectFoo") .parameterValues(Collections.singletonMap("id", 1)) + .parameterSupplier(() -> Collections.singletonMap("name", "Doe")) .build(); // @formatter:on itemReader.afterPropertiesSet(); @@ -93,6 +99,7 @@ void testConfigurationSaveStateIsFalse() throws Exception { .sqlSessionFactory(this.sqlSessionFactory) .queryId("selectFoo") .parameterValues(Collections.singletonMap("id", 1)) + .parameterSupplier(() -> Collections.singletonMap("name", "Doe")) .saveState(false) .build(); // @formatter:on @@ -118,6 +125,7 @@ void testConfigurationMaxItemCount() throws Exception { .sqlSessionFactory(this.sqlSessionFactory) .queryId("selectFoo") .parameterValues(Collections.singletonMap("id", 1)) + .parameterSupplier(() -> Collections.singletonMap("name", "Doe")) .maxItemCount(2) .build(); // @formatter:on diff --git a/src/test/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilderTest.java b/src/test/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilderTest.java index 4ff74bae8b..324dfe8f45 100644 --- a/src/test/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilderTest.java +++ b/src/test/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilderTest.java @@ -67,6 +67,7 @@ void setUp() { Mockito.when(this.sqlSessionFactory.openSession(ExecutorType.BATCH)).thenReturn(this.sqlSession); Map parameters = new HashMap<>(); parameters.put("id", 1); + parameters.put("name", "Doe"); parameters.put("_page", 0); parameters.put("_pagesize", 10); parameters.put("_skiprows", 0); @@ -80,6 +81,7 @@ void testConfiguration() throws Exception { .sqlSessionFactory(this.sqlSessionFactory) .queryId("selectFoo") .parameterValues(Collections.singletonMap("id", 1)) + .parameterSupplier(() -> Collections.singletonMap("name", "Doe")) .build(); // @formatter:on itemReader.afterPropertiesSet(); @@ -105,6 +107,7 @@ void testConfigurationSaveStateIsFalse() throws Exception { .sqlSessionFactory(this.sqlSessionFactory) .queryId("selectFoo") .parameterValues(Collections.singletonMap("id", 1)) + .parameterSupplier(() -> Collections.singletonMap("name", "Doe")) .saveState(false) .build(); // @formatter:on @@ -128,6 +131,7 @@ void testConfigurationMaxItemCount() throws Exception { .sqlSessionFactory(this.sqlSessionFactory) .queryId("selectFoo") .parameterValues(Collections.singletonMap("id", 1)) + .parameterSupplier(() -> Collections.singletonMap("name", "Doe")) .maxItemCount(2) .build(); // @formatter:on @@ -152,6 +156,7 @@ void testConfigurationPageSize() throws Exception { .sqlSessionFactory(this.sqlSessionFactory) .queryId("selectFoo") .parameterValues(Collections.singletonMap("id", 1)) + .parameterSupplier(() -> Collections.singletonMap("name", "Doe")) .pageSize(2) .build(); // @formatter:on @@ -160,6 +165,7 @@ void testConfigurationPageSize() throws Exception { Map parameters = new HashMap<>(); parameters.put("id", 1); parameters.put("_page", 0); + parameters.put("name", "Doe"); parameters.put("_pagesize", 2); parameters.put("_skiprows", 0); Mockito.when(this.sqlSession.selectList("selectFoo", parameters)).thenReturn(getFoos()); From 24b2b759cbadff0c736b3397eb39eea9861c766d Mon Sep 17 00:00:00 2001 From: shica Date: Mon, 26 Sep 2022 20:36:18 +0800 Subject: [PATCH 2/2] refine parameterValuesSupplier --- .../spring/batch/MyBatisCursorItemReader.java | 16 ++++++++-------- .../spring/batch/MyBatisPagingItemReader.java | 16 ++++++++-------- .../builder/MyBatisCursorItemReaderBuilder.java | 15 +++++++++------ .../builder/MyBatisPagingItemReaderBuilder.java | 15 +++++++++------ .../MyBatisCursorItemReaderBuilderTest.java | 6 +++--- .../MyBatisPagingItemReaderBuilderTest.java | 8 ++++---- 6 files changed, 41 insertions(+), 35 deletions(-) diff --git a/src/main/java/org/mybatis/spring/batch/MyBatisCursorItemReader.java b/src/main/java/org/mybatis/spring/batch/MyBatisCursorItemReader.java index 038646c6fc..8bc0b3330c 100644 --- a/src/main/java/org/mybatis/spring/batch/MyBatisCursorItemReader.java +++ b/src/main/java/org/mybatis/spring/batch/MyBatisCursorItemReader.java @@ -21,6 +21,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; +import java.util.Optional; import java.util.function.Supplier; import org.apache.ibatis.cursor.Cursor; @@ -42,7 +43,7 @@ public class MyBatisCursorItemReader extends AbstractItemCountingItemStreamIt private SqlSession sqlSession; private Map parameterValues; - private Supplier> parameterSupplier; + private Supplier> parameterValuesSupplier; private Cursor cursor; private Iterator cursorIterator; @@ -67,10 +68,7 @@ protected void doOpen() throws Exception { parameters.putAll(parameterValues); } - Map dynamicParameters; - if (parameterSupplier != null && (dynamicParameters = parameterSupplier.get()) != null) { - parameters.putAll(dynamicParameters); - } + Optional.ofNullable(parameterValuesSupplier).map(Supplier::get).ifPresent(parameters::putAll); sqlSession = sqlSessionFactory.openSession(ExecutorType.SIMPLE); cursor = sqlSession.selectCursor(queryId, parameters); @@ -132,10 +130,12 @@ public void setParameterValues(Map parameterValues) { /** * The parameter supplier used to get parameter values for the query execution. * - * @param parameterSupplier + * @param parameterValuesSupplier * the supplier used to get values keyed by the parameter named used in the query string. + * + * @since 2.1.0 */ - public void setParameterSupplier(Supplier> parameterSupplier) { - this.parameterSupplier = parameterSupplier; + public void setParameterValuesSupplier(Supplier> parameterValuesSupplier) { + this.parameterValuesSupplier = parameterValuesSupplier; } } diff --git a/src/main/java/org/mybatis/spring/batch/MyBatisPagingItemReader.java b/src/main/java/org/mybatis/spring/batch/MyBatisPagingItemReader.java index 978b533555..6c96b345dc 100644 --- a/src/main/java/org/mybatis/spring/batch/MyBatisPagingItemReader.java +++ b/src/main/java/org/mybatis/spring/batch/MyBatisPagingItemReader.java @@ -20,6 +20,7 @@ import java.util.HashMap; import java.util.Map; +import java.util.Optional; import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Supplier; @@ -48,7 +49,7 @@ public class MyBatisPagingItemReader extends AbstractPagingItemReader { private Map parameterValues; - private Supplier> parameterSupplier; + private Supplier> parameterValuesSupplier; public MyBatisPagingItemReader() { setName(getShortName(MyBatisPagingItemReader.class)); @@ -87,11 +88,13 @@ public void setParameterValues(Map parameterValues) { /** * The parameter supplier used to get parameter values for the query execution. * - * @param parameterSupplier + * @param parameterValuesSupplier * the supplier used to get values keyed by the parameter named used in the query string. + * + * @since 2.1.0 */ - public void setParameterSupplier(Supplier> parameterSupplier) { - this.parameterSupplier = parameterSupplier; + public void setParameterValuesSupplier(Supplier> parameterValuesSupplier) { + this.parameterValuesSupplier = parameterValuesSupplier; } /** @@ -115,10 +118,7 @@ protected void doReadPage() { if (parameterValues != null) { parameters.putAll(parameterValues); } - Map dynamicParameters; - if (parameterSupplier != null && (dynamicParameters = parameterSupplier.get()) != null) { - parameters.putAll(dynamicParameters); - } + Optional.ofNullable(parameterValuesSupplier).map(Supplier::get).ifPresent(parameters::putAll); parameters.put("_page", getPage()); parameters.put("_pagesize", getPageSize()); parameters.put("_skiprows", getPage() * getPageSize()); diff --git a/src/main/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilder.java b/src/main/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilder.java index 98f696a5d5..da81b4e227 100644 --- a/src/main/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilder.java +++ b/src/main/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilder.java @@ -36,7 +36,7 @@ public class MyBatisCursorItemReaderBuilder { private SqlSessionFactory sqlSessionFactory; private String queryId; private Map parameterValues; - private Supplier> parameterSupplier; + private Supplier> parameterValuesSupplier; private Boolean saveState; private Integer maxItemCount; @@ -88,15 +88,18 @@ public MyBatisCursorItemReaderBuilder parameterValues(Map par /** * Set the parameter supplier to be used to get parameters for the query execution. * - * @param parameterSupplier + * @param parameterValuesSupplier * the parameter supplier to be used to get parameters for the query execution * * @return this instance for method chaining * - * @see MyBatisCursorItemReader#setParameterSupplier(Supplier) + * @see MyBatisCursorItemReader#setParameterValuesSupplier(Supplier) + * + * @since 2.1.0 */ - public MyBatisCursorItemReaderBuilder parameterSupplier(Supplier> parameterSupplier) { - this.parameterSupplier = parameterSupplier; + public MyBatisCursorItemReaderBuilder parameterValuesSupplier( + Supplier> parameterValuesSupplier) { + this.parameterValuesSupplier = parameterValuesSupplier; return this; } @@ -141,7 +144,7 @@ public MyBatisCursorItemReader build() { reader.setSqlSessionFactory(this.sqlSessionFactory); reader.setQueryId(this.queryId); reader.setParameterValues(this.parameterValues); - reader.setParameterSupplier(this.parameterSupplier); + reader.setParameterValuesSupplier(this.parameterValuesSupplier); Optional.ofNullable(this.saveState).ifPresent(reader::setSaveState); Optional.ofNullable(this.maxItemCount).ifPresent(reader::setMaxItemCount); return reader; diff --git a/src/main/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilder.java b/src/main/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilder.java index 45b178ed9b..4428318c79 100644 --- a/src/main/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilder.java +++ b/src/main/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilder.java @@ -36,7 +36,7 @@ public class MyBatisPagingItemReaderBuilder { private SqlSessionFactory sqlSessionFactory; private String queryId; private Map parameterValues; - private Supplier> parameterSupplier; + private Supplier> parameterValuesSupplier; private Integer pageSize; private Boolean saveState; private Integer maxItemCount; @@ -89,15 +89,18 @@ public MyBatisPagingItemReaderBuilder parameterValues(Map par /** * Set the parameter supplier to be used to get parameters for the query execution. * - * @param parameterSupplier + * @param parameterValuesSupplier * the parameter supplier to be used to get parameters for the query execution * * @return this instance for method chaining * - * @see MyBatisPagingItemReader#setParameterSupplier(Supplier) + * @see MyBatisPagingItemReader#setParameterValuesSupplier(Supplier) + * + * @since 2.1.0 */ - public MyBatisPagingItemReaderBuilder parameterSupplier(Supplier> parameterSupplier) { - this.parameterSupplier = parameterSupplier; + public MyBatisPagingItemReaderBuilder parameterValuesSupplier( + Supplier> parameterValuesSupplier) { + this.parameterValuesSupplier = parameterValuesSupplier; return this; } @@ -157,7 +160,7 @@ public MyBatisPagingItemReader build() { reader.setSqlSessionFactory(this.sqlSessionFactory); reader.setQueryId(this.queryId); reader.setParameterValues(this.parameterValues); - reader.setParameterSupplier(this.parameterSupplier); + reader.setParameterValuesSupplier(this.parameterValuesSupplier); Optional.ofNullable(this.pageSize).ifPresent(reader::setPageSize); Optional.ofNullable(this.saveState).ifPresent(reader::setSaveState); Optional.ofNullable(this.maxItemCount).ifPresent(reader::setMaxItemCount); diff --git a/src/test/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilderTest.java b/src/test/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilderTest.java index 78691c2cf7..35363172b6 100644 --- a/src/test/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilderTest.java +++ b/src/test/java/org/mybatis/spring/batch/builder/MyBatisCursorItemReaderBuilderTest.java @@ -72,7 +72,7 @@ void testConfiguration() throws Exception { .sqlSessionFactory(this.sqlSessionFactory) .queryId("selectFoo") .parameterValues(Collections.singletonMap("id", 1)) - .parameterSupplier(() -> Collections.singletonMap("name", "Doe")) + .parameterValuesSupplier(() -> Collections.singletonMap("name", "Doe")) .build(); // @formatter:on itemReader.afterPropertiesSet(); @@ -99,7 +99,7 @@ void testConfigurationSaveStateIsFalse() throws Exception { .sqlSessionFactory(this.sqlSessionFactory) .queryId("selectFoo") .parameterValues(Collections.singletonMap("id", 1)) - .parameterSupplier(() -> Collections.singletonMap("name", "Doe")) + .parameterValuesSupplier(() -> Collections.singletonMap("name", "Doe")) .saveState(false) .build(); // @formatter:on @@ -125,7 +125,7 @@ void testConfigurationMaxItemCount() throws Exception { .sqlSessionFactory(this.sqlSessionFactory) .queryId("selectFoo") .parameterValues(Collections.singletonMap("id", 1)) - .parameterSupplier(() -> Collections.singletonMap("name", "Doe")) + .parameterValuesSupplier(() -> Collections.singletonMap("name", "Doe")) .maxItemCount(2) .build(); // @formatter:on diff --git a/src/test/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilderTest.java b/src/test/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilderTest.java index 324dfe8f45..b936ede448 100644 --- a/src/test/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilderTest.java +++ b/src/test/java/org/mybatis/spring/batch/builder/MyBatisPagingItemReaderBuilderTest.java @@ -81,7 +81,7 @@ void testConfiguration() throws Exception { .sqlSessionFactory(this.sqlSessionFactory) .queryId("selectFoo") .parameterValues(Collections.singletonMap("id", 1)) - .parameterSupplier(() -> Collections.singletonMap("name", "Doe")) + .parameterValuesSupplier(() -> Collections.singletonMap("name", "Doe")) .build(); // @formatter:on itemReader.afterPropertiesSet(); @@ -107,7 +107,7 @@ void testConfigurationSaveStateIsFalse() throws Exception { .sqlSessionFactory(this.sqlSessionFactory) .queryId("selectFoo") .parameterValues(Collections.singletonMap("id", 1)) - .parameterSupplier(() -> Collections.singletonMap("name", "Doe")) + .parameterValuesSupplier(() -> Collections.singletonMap("name", "Doe")) .saveState(false) .build(); // @formatter:on @@ -131,7 +131,7 @@ void testConfigurationMaxItemCount() throws Exception { .sqlSessionFactory(this.sqlSessionFactory) .queryId("selectFoo") .parameterValues(Collections.singletonMap("id", 1)) - .parameterSupplier(() -> Collections.singletonMap("name", "Doe")) + .parameterValuesSupplier(() -> Collections.singletonMap("name", "Doe")) .maxItemCount(2) .build(); // @formatter:on @@ -156,7 +156,7 @@ void testConfigurationPageSize() throws Exception { .sqlSessionFactory(this.sqlSessionFactory) .queryId("selectFoo") .parameterValues(Collections.singletonMap("id", 1)) - .parameterSupplier(() -> Collections.singletonMap("name", "Doe")) + .parameterValuesSupplier(() -> Collections.singletonMap("name", "Doe")) .pageSize(2) .build(); // @formatter:on