如何使用IPage分页接口,对一个list对象进行分页
时间: 2024-06-11 09:11:17 浏览: 127
1. 首先,需要引入IPage接口,可以通过以下代码完成引入:
```java
import com.baomidou.mybatisplus.core.metadata.IPage;
```
2. 接下来,需要在DAO层中定义一个方法,该方法接收两个参数,即当前页码和每页显示的记录数,返回值为IPage类型。代码如下:
```java
public interface UserDao extends BaseMapper<User> {
IPage<User> selectUserPage(Page<User> page, @Param("name") String name);
}
```
3. 在该方法中,通过Page对象构建分页参数,调用Mybatis-Plus提供的selectPage方法查询数据并返回IPage对象。代码如下:
```java
@Override
public IPage<User> selectUserPage(Page<User> page, String name) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
if (StringUtils.isNotEmpty(name)) {
queryWrapper.like("name", name);
}
return baseMapper.selectPage(page, queryWrapper);
}
```
4. 在Service层中调用该方法,获取分页数据。代码如下:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public IPage<User> selectUserPage(Page<User> page, String name) {
return userDao.selectUserPage(page, name);
}
}
```
5. 最后,在Controller层中调用Service方法,将分页结果返回给前端。代码如下:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public IPage<User> list(@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "size", defaultValue = "10") Integer size,
@RequestParam(value = "name", required = false) String name) {
Page<User> userPage = new Page<>(page, size);
return userService.selectUserPage(userPage, name);
}
}
```
以上就是使用IPage分页接口,对一个list对象进行分页的完整步骤。
阅读全文