在Spring Boot中使用带注释查询让PageRequest工作的方法如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
// 其他属性和方法...
}
public interface UserRepository extends JpaRepository<User, Long> {
// 其他查询方法...
}
@Service
public class UserService {
private final UserRepository userRepository;
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
public Page<User> getUsersByName(String name, Pageable pageable) {
return userRepository.findByNameContaining(name, pageable);
}
}
@RestController
@RequestMapping("/users")
public class UserController {
private final UserService userService;
public UserController(UserService userService) {
this.userService = userService;
}
@GetMapping
public Page<User> getUsersByName(@RequestParam("name") String name,
@RequestParam(value = "page", defaultValue = "0") int page,
@RequestParam(value = "size", defaultValue = "10") int size) {
Pageable pageable = PageRequest.of(page, size);
return userService.getUsersByName(name, pageable);
}
}
现在,你可以通过发送GET请求到/users?name={name}
来获取符合条件的用户列表,并且支持分页查询。例如,发送GET请求到/users?name=John&page=0&size=10
将返回名字包含"John"的前10个用户。
这是一个简单的示例,展示了如何在Spring Boot中使用带注释查询让PageRequest工作。根据你的具体需求,你可以根据实际情况进行更复杂的查询和操作。
领取专属 10元无门槛券
手把手带您无忧上云