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		//导航条上的最后一页
	}
发布了43 篇原创文章 · 获赞 61 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43583693/article/details/100142463