Spring Boot-PageHelper 后台分页、Spring Boot-PageHelper 后台分页无效解决,PageHelper 返回的所有结果的意思
PageHelper 的使用
1.使用maven解决依赖
<!--分页的工具包 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
<!--分页的工具包 -->
2.在service实现调用(返回list<对象>集合或list<Map> 集合)
3.PageHelper 无效
相关sql语句
//<!-- limit不用写 -->
<select id="findAll" resultType="com.bdqn.pojo.Users">
select * from users
</select>
<select id="getRetireMenList" parameterType="Map" resultType="Map">
SELECT a.*
FROM VETERANS a
<where>
1=1
AND a.F1_5_13='02'
AND a.F1_5_11='0'
AND a.F1_5_12='01'
<if test="name != null and name != ''">
AND a.F1_1 like '%${name}%'
</if>
<if test="zoneCode != null and zoneCode != ''">
AND a.F1_5_10 like '${zoneCode}%'
</if>
</where>
ORDER BY a.F1_5_14 DESC
</select>
service使用
//导入相关类
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.bdqn.common.service.impl.BaseServiceImpl;
import com.bdqn.mapper.UsersMapper;
import com.bdqn.pojo.Users;
import com.bdqn.service.UsersService;
import com.github.pagehelper.PageHelper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
@Service
@Transactional(rollbackFor = Exception.class)
public class UsersServiceImpl extends BaseServiceImpl implements UsersService {
@Resource
private UsersMapper usersMapper; //dao层
@Override
public PageInfo<Users> findAll(int pageNum,int pageSize) {
//pageNum 为当前页 pageSize每页的个数
//调用分页工具类,实现分页效果,同时代理了dao层的sql 这里是MySQL数据库,有的则可以不用-1
PageHelper.startPage(pageNum-1,pageSize);
//调用查询的方法
List<Users> userList = usersMapper.findAll();
//将查询结果放入PageInfo添加相关的信息返回
PageInfo<Users> pageInfo = new PageInfo<>(userList);
return pageInfo;//返回
}
}
@Override
public PageInfo<Map<String,String>> aaa(Map<String, String> map){
List<Map<String, String>> rList = null;
//调用分页工具
//获取当前页page 和每页个数pageSize
PageHelper.startPage(Integer.parseInt(map.get("page")),Integer.parseInt(map.get("pageSize")));
//调用dao层查询方法
rList = padMapper.getRetireMenList(map);
//将返回数据放入PageInfo中
PageInfo<Map<String,String>> pageInfo = new PageInfo<>(rList);
return pageInfo; //返回
}
PageHelper无效
注:要先调用分页工具再调用dao的层查询方法在返回否则分页PageHelper将无效
4.PageHelper 返回的所有结果
{
"total":228580, //总行数
"list":[ //数据集
{
"name":"张三",
"age":18,
"ROW_ID":1 //PageHelper生成
},{
"name":"李四",
"age":19,
"ROW_ID":2 //PageHelper生成
},{
"name":"王五",
"age":22,
"ROW_ID":3 //PageHelper生成
}......
],
"pageNum":1, //当前该显示的页
"pageSize":10, //要求每页的数量
"size":10, //当前页返回的数据条数
"startRow":1, //由于startRow 和endRow 不常用,这里说个具体的用法
//可以在页面中"显示startRow 到endRow 共size 条数据"
//当前页面第一个元素在数据库中的行号
"endRow":10, //当前页面最后一个元素在数据库中的行号
"page":22858, //总页数
"prePage":0, //前一页
"nextPage":2, //下一页
"isFirstPage":true, //是否为第一页
"isLastPage":false, //是否为最后一页
"hasPreviousPage":false, //是否有前一页
"hasNextPage":true, //是否有下一页
"navigatePages":8, //导航页码数
"navigatepageNums":[ //所有导航页号
1,2,3,4,5,6,7,8
],
"navigateFirstPage":1, //导航条上的第一页
"navigateLastPage":8 //导航条上的最后一页
}