问题:
都集成了,但是接口返回的json数据,分页开始不生效,后来刷新6,7次之后才生效,但是改变page参数的第几页,是不生效的,但是数据库查询limit生效
解决:
pageHelper的startPage必须放在查询之前才可以:
/**
* 根据某些特定参数获取列表
* @param adminUserQuery 参数
* @return List
*/
public Map<String, Object> selectAdminUserByParams(AdminUserQuery adminUserQuery) {
// 开始分页
PageHelper.startPage(adminUserQuery.getPage(), adminUserQuery.getLimit());
// ### 查询塑造
AdminUserExample adminUserExample = new AdminUserExample();
AdminUserExample.Criteria criteria = adminUserExample.createCriteria();
// 编号
if (adminUserQuery.getId() != null) {
criteria.andIdEqualTo(adminUserQuery.getId());
}
// 用户名
if (adminUserQuery.getUserName() != null) {
criteria.andUserNameEqualTo(adminUserQuery.getUserName());
}
// 状态
if (adminUserQuery.getStatus() != null) {
criteria.andStatusEqualTo(adminUserQuery.getStatus());
}
// ----- 此处是查询 ------
List<AdminUser> adminUser = adminUserMapper.selectByExample(adminUserExample);
// 最终返回
Map<String, Object> data = new HashMap<>();
// 得到对应分页对象
PageInfo<AdminUser> pageInfo = new PageInfo<>(adminUser);
if (pageInfo.getSize() < 1) {
data.put("list", new ArrayList<>());
data.put("count", 0);
return data;
}
data.put("list", pageInfo.getList());
data.put("count", pageInfo.getTotal());
return data;
}
上图中,查询具体的应该是
// ----- 此处是查询 ------
这块注释,
PageHelper.startPage(adminUserQuery.getPage(),
放在这前面即可。