I'm trying to use a MyBatis Cursor with Spring Boot to iterate a large query:
Mapper:
@Mapper
@Repository
interface UserMapper {
@Select("SELECT * FROM huge_user_table")
Cursor<User> getUsers();
Consumer:
@Component
public class UserProcessor {
@Autowired private UserMapper userMapper;
public boolean process() throws IOException {
Cursor<User> users = userMapper.getUsers();
//users.isOpen() == false
for (User user : users) {
//Never iterates
System.out.println(user.getId());
}
When I get my cursor back though it is closed, with no records returned.
Am I missing something?