springboot注解怎么实现分页的
时间: 2024-04-30 17:21:37 浏览: 185
Spring Boot 提供了许多注解来简化分页的实现,其中比较常用的是 `@PageableDefault`、`@PageableHandlerMethodArgumentResolver` 和 `@EnableSpringDataWebSupport`。
这里以 `@PageableDefault` 为例,讲解如何使用注解实现分页。
1. 在控制层的方法中添加 `@PageableDefault` 注解,指定默认的分页参数:
```java
@GetMapping("/users")
public Page<User> getUsers(@PageableDefault(size = 10, page = 0) Pageable pageable) {
return userService.getUsers(pageable);
}
```
2. 在服务层的方法中使用 `PageRequest.of()` 方法创建一个 `Pageable` 对象,并调用 JPA 的 `findAll()` 方法进行分页查询:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserRepository userRepository;
@Override
public Page<User> getUsers(Pageable pageable) {
return userRepository.findAll(pageable);
}
}
```
其中,`UserRepository` 是继承自 `JpaRepository` 的接口,Spring Data JPA 会自动实现 `findAll()` 方法。
3. 在启动类上添加 `@EnableSpringDataWebSupport` 注解,开启 Spring Data Web 支持:
```java
@SpringBootApplication
@EnableSpringDataWebSupport
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
```
这样就可以使用 `@PageableDefault` 注解来简化分页的实现了。你也可以使用其他注解来实现分页,具体可以参考 Spring Data JPA 的文档。
阅读全文