需要一套从controller到Mapper的pgsql分页查询的java完整代码
时间: 2024-05-16 22:18:01 浏览: 12
下面是一个示例代码,假设你已经有了一个Controller类和一个Mapper类,我们需要在Controller中调用Mapper来实现分页查询:
```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/page")
public Page<User> getUsersByPage(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
PageHelper.startPage(pageNum, pageSize); // 开始分页
List<User> userList = userMapper.getUsers(); // 查询所有用户
PageInfo<User> pageInfo = new PageInfo<>(userList); // 封装分页信息
return new Page<>(pageInfo);
}
}
```
在上面的代码中,我们使用了Spring框架的注解来标记这个类是一个Controller,并且注入了一个UserMapper对象。
在getUsersByPage方法中,我们使用了PageHelper.startPage方法来开始分页,并且调用了Mapper的getUsers方法来查询所有用户。然后,我们使用PageInfo来封装分页信息,并最终返回一个自定义的Page对象,其中包含了分页信息和查询结果。
下面是Page类的代码:
```java
public class Page<T> {
private Integer pageNum;
private Integer pageSize;
private Long total;
private List<T> list;
public Page(PageInfo<T> pageInfo) {
this.pageNum = pageInfo.getPageNum();
this.pageSize = pageInfo.getPageSize();
this.total = pageInfo.getTotal();
this.list = pageInfo.getList();
}
// getter and setter
}
```
这个类非常简单,只是用来封装分页信息和查询结果。你可以根据自己的需要进行调整。