Page<HcFishplace> page = new Page<>(pageNo, pageSize); 先排序在分页
时间: 2023-12-12 21:03:09 浏览: 91
可以先对数据进行排序,然后再进行分页。具体的实现方式可以使用 MyBatis-Plus 提供的 QueryWrapper 和 LambdaQueryWrapper 封装查询条件,再调用 orderBy 方法进行排序,最后调用 PageHelper.startPage 方法开启分页功能,将排序后的数据传入 Page 对象中即可。
示例代码如下:
```java
// 创建 QueryWrapper 对象
QueryWrapper<HcFishplace> queryWrapper = new QueryWrapper<>();
// 设置排序规则,例如按照 id 降序排序
queryWrapper.orderByDesc("id");
// 创建 Page 对象
Page<HcFishplace> page = new Page<>(pageNo, pageSize);
// 调用 PageHelper.startPage 方法开启分页功能
PageHelper.startPage(pageNo, pageSize);
// 执行查询操作,将排序后的数据传入 Page 对象中
List<HcFishplace> list = hcFishplaceMapper.selectList(queryWrapper);
page.setRecords(list);
```
需要注意的是,如果数据量比较大,排序和分页操作可能会比较耗时,建议使用索引优化查询效率。
相关问题
@ApiOperation(value="商品表-分页列表查询", notes="商品表-分页列表查询") @GetMapping(value = "/list") public Result<IPage<Commodity>> queryPageList(Commodity commodity, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { QueryWrapper<Commodity> queryWrapper = QueryGenerator.initQueryWrapper(commodity, req.getParameterMap()); Page<Commodity> page = new Page<Commodity>(pageNo, pageSize); IPage<Commodity> pageList = commodityService.page(page, queryWrapper); return Result.OK(pageList); }
这是一个使用SpringBoot框架编写的RESTful API接口,用于查询商品列表。注解@ApiOperation用于描述接口的作用,注解@GetMapping用于指定HTTP请求的类型和请求路径。方法的参数中,Commodity代表商品实体对象,@RequestParam注解用于获取请求参数。方法内部使用QueryWrapper和QueryGenerator.initQueryWrapper()方法生成查询条件,使用Page和commodityService.page()方法进行分页查询,最终返回查询结果。
public Result<Map<String,Object>> getRoleList(@RequestParam("roleName")String roleName, @RequestParam("pageNo")Long pageNo, @RequestParam("pageSize")Long pageSize){ LambdaQueryWrapper<Role> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(StringUtils.hasLength(roleName),Role::getRoleName,roleName); wrapper.orderByDesc(Role::getRoleId); Page<Role> page = new Page<>(pageNo,pageSize); roleService.page(page,wrapper); Map<String,Object> data = new HashMap<>(); data.put("total",page.getTotal()); data.put("rows",page.getRecords()); return Result.success(data);
这段代码是一个控制器方法,用于获取角色列表。它接收三个请求参数:roleName(角色名称)、pageNo(页码)和pageSize(每页数量)。首先,创建了一个LambdaQueryWrapper对象,用于构建查询条件。然后,根据roleName是否有值来判断是否需要添加角色名称的查询条件。接下来,按照角色ID的降序排序。然后,创建了一个Page对象,用于分页查询。调用roleService的page方法进行分页查询,并将查询结果封装到Map中。最后,返回一个Result对象,包含封装好的数据。
阅读全文
相关推荐
通过JS实现在页面分页.
<script>
var a = document.getElementById("all").getElementsByTagName("div");
var zz =new Array(a.length);
for(var i=0;i <a.length;i++){
zz[i]=a[i].innerHTML;
} //div的字符串数组付给zz
var pageno=1; //当前页
var pagesize=3; //每页多少条信息
if(zz.length%pagesize==0){
var pageall =zz.length/pagesize;
}else{
var pageall =parseInt(zz.length/pagesize)+1;
} //一共多少页
function change(e){
pageno=e;
if(e<1){ //如果输入页<1页
e=1;
pageno=1;//就等于第1页 , 当前页为1
}
if(e>pageall){//如果输入页大于最大页
e=pageall;
pageno=pageall;//输入页和当前页都=最大页
}
document.getElementById("all").innerHTML="";//全部清空
for(var i=0;i["+j+"]";
}else{
ye=ye+"["+j+"]";
}
}
document.getElementById("a1").innerHTML=pageall;
document.getElementById("a2").innerHTML=pageno;
document.getElementById("a3").innerHTML=ye;
}
change(1);
</script>