1.先配置分页插件
mybatis-plus:
configuration:
# 开启驼峰命名转换
map-underscore-to-camel-case: true
# 分页插件配置
pagehelper:
helper-dialect: mysql
reasonable: true
support-methods-arguments: true
2.编写接口
创建一个继承自MyBatis Plus提供的BaseMapper接口的自定义Mapper接口,并定义相关的方法
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 自定义分页查询方法
IPage<User> selectUserPage(Page<User> page, @Param("name") String name);
}
3.使用分页查询
在业务层调用Mapper接口的分页查询方法,并传入Page对象作为参数。
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public IPage<User> getUserPage(int pageNum, int pageSize, String name) {
Page<User> page = new Page<>(pageNum, pageSize);
return userMapper.selectUserPage(page, name);
}
}
4.处理分页结果
IPage<User> userPage = userService.getUserPage(1, 10, "张三");
List<User> userList = userPage.getRecords(); // 获取当前页的数据列表
long total = userPage.getTotal(); // 获取总记录数
long pages = userPage.getPages(); // 获取总页数
这样就算可以了。