MyBatis Plus是一款优秀的MyBatis增强工具,它提供了很多实用的功能,其中包括分页查询功能。分页查询是在查询大量数据时,将数据划分为若干页进行查询,以减少数据传输和提高查询效率。
在MyBatis Plus中,分页查询使用的是IPage接口。IPage接口是MyBatis Plus提供的分页插件,它包含了分页查询的相关方法和属性。下面是使用IPage的示例代码:
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public IPage<User> getUserListByPage(int pageNum, int pageSize) {
// 创建分页对象
IPage<User> page = new Page<>(pageNum, pageSize);
// 调用MyBatis Plus的分页查询方法
IPage<User> userPage = baseMapper.selectPage(page, null);
// 返回查询结果
return userPage;
}
}
在上面的代码中,我们首先创建了一个分页对象IPage<User> page = new Page<>(pageNum, pageSize)
,其中pageNum表示当前页数,pageSize表示每页显示的记录数。然后,我们调用MyBatis Plus的分页查询方法baseMapper.selectPage(page, null)
,将分页对象和查询条件作为参数传入。最后,将查询结果返回。
在调用分页查询方法的地方,我们可以通过调用getUserListByPage(pageNum, pageSize)
方法来实现分页查询,如下所示:
@Autowired
private UserService userService;
@GetMapping("/users")
public Result getUserListByPage(@RequestParam("pageNum") int pageNum, @RequestParam("pageSize") int pageSize) {
IPage<User> userPage = userService.getUserListByPage(pageNum, pageSize);
return Result.success(userPage);
}
在上面的代码中,我们通过调用userService.getUserListByPage(pageNum, pageSize)
方法来获取分页查询结果,并将结果返回。
通过上述示例代码,我们可以看到使用IPage接口实现分页查询非常简单。只需创建一个分页对象,并调用MyBatis Plus提供的分页查询方法即可。同时,IPage还提供了其他的一些实用方法,如获取总记录数、获取总页数等,可以根据实际需求进行调用。