mybatisplus的Page用法
时间: 2023-10-03 10:02:45 浏览: 82
Mybatis-plus中的Page是一个分页对象,用于封装分页查询的相关参数和返回结果。以下是使用Mybatis-plus的Page进行分页查询的示例:
1. 添加依赖
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
```
2. 定义实体类
```java
@Data
public class User {
private Long id;
private String name;
private Integer age;
}
```
3. 定义Mapper接口
```java
public interface UserMapper extends BaseMapper<User> {
List<User> selectPage(Page<User> page, @Param("age") Integer age);
}
```
4. 实现Mapper接口
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public IPage<User> getUserPage(Integer age, Integer pageNum, Integer pageSize) {
// 构造分页对象
Page<User> page = new Page<>(pageNum, pageSize);
// 执行分页查询
IPage<User> userPage = userMapper.selectPage(page, age);
return userPage;
}
}
```
5. 调用分页查询方法
```java
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public IPage<User> getUsers(@RequestParam(required = false) Integer age,
@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize) {
return userService.getUserPage(age, pageNum, pageSize);
}
}
```
以上示例中,我们使用了Mybatis-plus提供的BaseMapper接口中的selectPage方法进行分页查询,其中Page对象用于封装分页查询的相关参数,包括当前页数和每页大小等。分页查询的结果通过IPage接口进行封装,包含了查询出的数据列表和分页信息等。
阅读全文