springcloud+springboot架构 使用pageinfo编写一个分页查询
时间: 2024-01-24 08:02:22 浏览: 83
好的,以下是一个基于Spring Boot和Spring Cloud的分页查询示例,使用了PageInfo类来处理分页信息。
首先,你需要在pom.xml文件中添加以下依赖项:
```xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
```
然后,你需要创建一个实体类来表示你要查询的数据。例如,如果你要查询一个“用户”实体,你可以创建一个名为“User”的类:
```java
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
// getter and setter
}
```
接下来,你需要创建一个名为“UserRepository”的接口,该接口扩展了JpaRepository接口。这个接口将允许你执行分页查询,并将结果作为List对象返回:
```java
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findAll();
}
```
在你的控制器类中,你可以注入UserRepository,并使用PageHelper来执行分页查询,并使用PageInfo类来处理分页信息:
```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping
public PageInfo<User> getUsers(@RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<User> userList = userRepository.findAll();
PageInfo<User> pageInfo = new PageInfo<>(userList);
return pageInfo;
}
}
```
现在,当你使用GET请求访问“/users”时,将返回一个包含用户列表的PageInfo对象,其中包含了分页信息和用户列表。你可以通过添加其他查询条件来进一步筛选和排序结果。
希望这个示例能够帮助你编写分页查询,并使用PageInfo类来处理分页信息。
阅读全文