Встречается на 2% собеседований по Java

Как реализовать пагинацию

В Java пагинацию можно реализовать с помощью Spring Data JPA (если используется Spring) или через SQL-запросы с LIMIT и OFFSET.

Spring Data JPA:

java
// Repository
public interface UserRepository extends JpaRepository<User, Long> {
    Page<User> findAll(Pageable pageable);
}

// Service
public Page<User> getUsers(int page, int size) {
Pageable pageable = PageRequest.of(page, size);
return userRepository.findAll(pageable);
}

text

**Чистый SQL (JDBC):**
```java
String sql = "SELECT * FROM users LIMIT ? OFFSET ?";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setInt(1, pageSize); // количество записей на странице
stmt.setInt(2, page * pageSize); // смещение

Ключевые моменты:

  • Нумерация страниц обычно начинается с 0
  • Для больших таблиц OFFSET может быть медленным - лучше использовать ключи (WHERE id > last_id)
  • В REST API пагинацию часто передают через query-параметры: ?page=2&size=10
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы