в моей системе (Spring boot project) Мне нужно сделать запрос каждые 350 человек, которые я ищу мои данные, мне нужно пейджинг и отправлять. Я искал много способов сделать это и нашел много с помощью JPA, но я использую Jooq, поэтому я попросил помощи с инструментом пользователя, и они указали мне использовать параметры предела и смещения.
Это метод, в котором я делаю исследование, я настраиваю свой DTO и в конце я возвращаю список людей.
public static ArrayList getAllPeople(Connection connection) {
ArrayList<peopleDto> peopleList = new ArrayList<>();
DSLContext ctx = null;
peopleDto peopleDto;
try {
ctx = DSL.using(connection, SQLDialect.MYSQL);
Result<Record> result = ctx.select()
.from(people)
.orderBy(people.GNUM)
.offset(0)
.limit(350)
.fetch();
for (Record r : result) {
peopleDto = new peopleDto();
peopleDto.setpeopleID(r.getValue(people.GNUM));
peopleDto.setName(r.get(people.SNAME));
peopleDto.setRM(r.get(people.SRM));
peopleDto.setRG(r.get(people.SRG));
peopleDto.setCertidaoLivro(r.get(people.SCERT));
peopleDto.setCertidaoDistrito(r.get(people.SCERTD));
peopleList.add(peopleDto);
}
} catch (Exception e) {
log.error(e.toString());
} finally {
if (ctx != null) {
ctx.close();
}
}
return peopleList;
}
Этот поиск без ограничений возвращает 1400 человек.
Вопрос в том, как отправить число лимита и вернуться к этому методу, чтобы продолжить с того места, где я остановился в последний раз, пока не достигну общей стоимости записей?