使用springboot写一个分页查询
时间: 2024-03-20 22:39:41 浏览: 13
好的,以下是一个使用 Spring Boot 实现分页查询的示例代码:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserRepository userRepository;
@Override
public Page<User> findAll(Pageable pageable) {
return userRepository.findAll(pageable);
}
}
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping
public Page<User> findAll(@RequestParam(defaultValue = "0") int page,
@RequestParam(defaultValue = "10") int size) {
Pageable pageable = PageRequest.of(page, size);
return userService.findAll(pageable);
}
}
```
这里的 `User` 实体类需要自行定义,`UserRepository` 是 Spring Data JPA 的接口,使用该接口可以很方便地实现对数据库的操作。`UserService` 是一个服务接口,用于定义业务逻辑。`UserController` 是一个 RESTful 风格的控制器,用于接受请求并返回响应。
在 `UserController` 中,我们使用 `PageRequest.of(page, size)` 创建一个分页请求,然后调用 `userService.findAll(pageable)` 方法获取分页数据。在 `findAll` 方法中,我们直接调用 `userRepository.findAll(pageable)` 方法进行分页查询,并返回一个 `Page` 对象。这个 `Page` 对象包含了查询到的数据以及分页相关的信息,如总页数、总条数等。
在请求 `http://localhost:8080/users?page=0&size=10` 的时候,就可以获取到第一页,每页显示 10 条的用户数据了。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)