微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mybatis分页插件:PageHlper的使用

Mybatis分页插件:PageHlper的使用

PageHlper:Mybatis开发的分页插件简化分页处理,可以把查询数据的一条sql语句自动拦截下来,生成两条分页sql语句
如:

SELECT * FROM 表 WHERE 条件
	Mybatis的PageHlper会拦截上面的sql语句,生成两条sql语句
		SELECT COUNT(*) FROM 表 WHERE 条件
		SELECT * FROM 表 WHERE 条件 LIMIT #{start},#{length}

使用三步骤

一:使用 Pagehlper 设置分页规则

// page:当前页  pageSize:每页大小
pageHelper.startPage(page, pageSize);

二:调用Mapper查询所有用户数据

//根据员工名称查询所有员工信息
List<Employee> employeeList = employeeMapper.findAll(name);

三:实例化PageHlper提供的PageInfo对象,传递所有数据列表

PageInfo<Employee> pageInfo = new PageInfo<>(employeeList);

四、完整代码实现

public R<Page<Employee>> page(Integer page, Integer pageSize, String name) {
	//使用 Pagehlper 设置分页规则
    pageHelper.startPage(page, pageSize);
	//调用Mapper查询所有用户数据
    List<Employee> employeeList = employeeMapper.findAll(name);
	//实例化PageHlper提供的PageInfo对象,传递所有数据列表
    PageInfo<Employee> pageInfo = new PageInfo<>(employeeList);
	//实例化自定义实体类Page对象封装成前端需要的数据类型
    Page<Employee> pageEmployee = new Page<>();
	//封装数据
    pageEmployee.setRecords(pageInfo.getList());
    pageEmployee.setTotal(pageInfo.getTotal());
    pageEmployee.setPage(page);
    pageEmployee.setPageSize(pageSize);
	//返回数据
    return R.success(pageEmployee);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐