在Spring Boot中,可以使用以下方法來實現分頁查詢:
Pageable
接口和Page
對象來實現分頁查詢。在Repository方法中,可以定義一個帶有Pageable
參數的查詢方法,并返回Page
對象。import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<User, Long> {
Page<User> findAll(Pageable pageable);
}
在Service或Controller中,可以通過調用Repository的查詢方法來進行分頁查詢,并獲取到分頁結果:
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public Page<User> findAllUsers(int page, int size) {
PageRequest pageable = PageRequest.of(page, size);
return userRepository.findAll(pageable);
}
}
@Query
注解和JPQL語句來實現分頁查詢。可以在Repository接口中定義帶有@Query
注解的查詢方法,并在JPQL語句中使用LIMIT
和OFFSET
來限制查詢結果的數量和偏移量。import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
public interface UserRepository extends JpaRepository<User, Long> {
@Query("SELECT u FROM User u")
Page<User> findAllUsers(Pageable pageable);
}
在Service或Controller中,同樣可以通過調用Repository的查詢方法來進行分頁查詢,并獲取到分頁結果。
以上是兩種常用的Spring Boot分頁查詢方法,根據具體的業務需求和喜好可以選擇適合的方法來實現分頁查詢。