"是的,使用 PageHelper 插件时,获取 Page 对象时,数据总数仍然需要单独查询。\n\nPageHelper 插件只负责对查询语句进行拦截和处理,帮助生成分页查询语句。它并不会自动获取数据总数。为了获取数据总数,需要再执行一次单独的查询语句。\n\n通常,可以通过在 PageHelper.startPage() 方法之前执行一次查询,获取数据总数,然后再执行分页查询获取分页数据。\n\n示例代码如下:\n\njava\n// 执行单独的查询获取数据总数\nint totalCount = yourMapper.selectCount(yourQuery);\n\n// 开始分页查询\nPageHelper.startPage(pageNum, pageSize);\nList<T> dataList = yourMapper.selectList(yourQuery);\n\n// 将数据总数和分页数据封装到 Page 对象中\nPage<T> page = new Page<>();\npage.setTotal(totalCount);\npage.setDataList(dataList);\n\n\n在上述代码中,yourMapper 是你自己定义的 MyBatis Mapper 接口,yourQuery 是你自己定义的查询条件对象,pageNum 和 pageSize 分别表示当前页码和每页记录数。\n\n通过这种方式,可以获取到数据总数并封装到 Page 对象中,同时获取到分页数据。注意,PageHelper 插件会自动在查询语句后添加分页语句,无需手动处理分页逻辑。\n\n

PageHelper插件获取Page<T>时,数据总数获取方法

原文地址: https://www.cveoy.top/t/topic/qhT3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录