springboot list分页
时间: 2023-11-15 16:44:01 浏览: 88
springboot分页查询的两种方法.md
在 Spring Boot 中进行列表分页可以通过使用 Spring Data JPA 和 Pageable 接口来实现。下面是一个简单的示例:
首先,确保你已经添加了 Spring Data JPA 的依赖到你的项目中。
接下来,在你的实体类中添加 `javax.persistence.Entity` 注解,并指定 `@Id` 注解用于标识主键字段。
```java
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class YourEntity {
@Id
private Long id;
// 其他字段和方法...
}
```
然后,创建一个继承自 `JpaRepository` 接口的数据访问层接口。该接口将提供基本的 CRUD 操作和分页查询方法。
```java
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface YourRepository extends JpaRepository<YourEntity, Long> {
}
```
现在,在你的服务层或控制器中注入该数据访问层接口,并使用 `Pageable` 来进行分页查询。
```java
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@Service
public class YourService {
private final YourRepository yourRepository;
public YourService(YourRepository yourRepository) {
this.yourRepository = yourRepository;
}
public Page<YourEntity> getEntitiesByPage(int pageNumber, int pageSize) {
Pageable pageable = PageRequest.of(pageNumber, pageSize);
return yourRepository.findAll(pageable);
}
}
```
这样,你就可以通过调用 `getEntitiesByPage` 方法来获取指定页码和每页大小的分页数据了。
```java
@GetMapping("/entities")
public ResponseEntity<Page<YourEntity>> getEntities(
@RequestParam(defaultValue = "0") int pageNumber,
@RequestParam(defaultValue = "10") int pageSize) {
Page<YourEntity> page = yourService.getEntitiesByPage(pageNumber, pageSize);
return ResponseEntity.ok(page);
}
```
以上是一个简单的示例,你可以根据自己的需求进行调整和扩展。希望对你有帮助!
阅读全文