springboot如何根据自己在数据库查出来的数据进行分页查询
时间: 2024-03-06 14:51:16 浏览: 35
Spring Boot可以通过集成MyBatis或者Spring Data JPA来实现根据数据库中查询出来的数据进行分页查询。
以下是使用Spring Data JPA实现分页查询的示例代码:
1. 在实体类中添加分页查询相关的注解
```java
@Entity
@Table(name = "user")
public class User {
...
// 分页查询相关注解
@Transient
private Integer pageNum; // 当前页数
@Transient
private Integer pageSize; // 每页记录数
...
}
```
2. 在DAO层定义分页查询方法
```java
public interface UserRepository extends JpaRepository<User, Long> {
// 分页查询方法
Page<User> findByAge(Integer age, Pageable pageable);
}
```
3. 在Service层调用分页查询方法,并返回分页查询结果
```java
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public Page<User> findByAge(Integer age, Integer pageNum, Integer pageSize) {
// 构造分页查询条件
Pageable pageable = PageRequest.of(pageNum - 1, pageSize, Sort.Direction.ASC, "id");
// 调用分页查询方法
Page<User> page = userRepository.findByAge(age, pageable);
return page;
}
}
```
4. 在Controller层接收分页查询参数,调用Service层方法并返回结果
```java
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public Page<User> findByAge(@RequestParam Integer age, @RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize) {
Page<User> page = userService.findByAge(age, pageNum, pageSize);
return page;
}
}
```
这样就可以根据数据库中查询出来的数据进行分页查询了。