Skip to content

Commit 9749d2d

Browse files
author
Julien KLAER
committed
fix(paging item reader): Using implementation SqlSessionTemplate instead
of interface SqlSession.
1 parent f6d8faa commit 9749d2d

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/main/java/org/mybatis/spring/batch/MyBatisPagingItemReader.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import org.apache.ibatis.session.ExecutorType;
1919
import org.apache.ibatis.session.SqlSession;
2020
import org.apache.ibatis.session.SqlSessionFactory;
21+
import org.mybatis.spring.SqlSessionTemplate;
2122
import org.springframework.batch.item.database.AbstractPagingItemReader;
2223

2324
import java.util.HashMap;
@@ -43,7 +44,7 @@ public class MyBatisPagingItemReader<T> extends AbstractPagingItemReader<T> {
4344

4445
private SqlSessionFactory sqlSessionFactory;
4546

46-
private SqlSession sqlSession;
47+
private SqlSessionTemplate sqlSessionTemplate;
4748

4849
private Map<String, Object> parameterValues;
4950

@@ -94,13 +95,13 @@ public void afterPropertiesSet() throws Exception {
9495
@Override
9596
protected void doOpen() throws Exception {
9697
super.doOpen();
97-
sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
98+
sqlSessionTemplate = new SqlSessionTemplate(sqlSessionFactory, ExecutorType.BATCH);
9899
}
99100

100101
@Override
101102
protected void doClose() throws Exception {
102-
if (sqlSession != null) {
103-
sqlSession.close();
103+
if (sqlSessionTemplate != null) {
104+
sqlSessionTemplate.close();
104105
}
105106
super.doClose();
106107
}
@@ -119,7 +120,7 @@ protected void doReadPage() {
119120
} else {
120121
results.clear();
121122
}
122-
results.addAll(sqlSession.selectList(queryId, parameters));
123+
results.addAll(sqlSessionTemplate.selectList(queryId, parameters));
123124
}
124125

125126
@Override

0 commit comments

Comments
 (0)