Page<TbBottomArticle> page = new Page<>(current,pageSize); QueryWrapper<TbBottomArticle> wrapper = new QueryWrapper<>(); if (StringUtils.hasText(tbBottomArticle.getName())){ wrapper.like("name",tbBottomArticle.getName()); } if(tbBottomArticle.getIsDisable()!=null){ wrapper.eq("is_disable",tbBottomArticle.getIsDisable()); } List<TbBottomArticle> permissions = articalDao.selectList(wrapper); //保存一级菜单 ArrayList<TbBottomArticle> permissionsOne = new ArrayList<>(); for (TbBottomArticle permission:permissions){ if (permission.getParentId().equals("0")){ permissionsOne.add(permission); } } for (TbBottomArticle permission:permissionsOne){ permission.setChildren(findChildren(permission.getParentId(),permissions)); } page.setRecords(permissionsOne); page.setTotal(permissionsOne.size());
时间: 2024-04-28 12:21:34 浏览: 15
这段代码的作用是查询数据库中的 TbBottomArticle 数据,并将其封装到一个分页对象(Page)中。
首先,它创建了一个分页对象,并使用传入的参数 current 和 pageSize 初始化它。然后,它创建了一个条件查询对象(QueryWrapper<TbBottomArticle> wrapper),并根据传入的条件(tbBottomArticle.getName() 和 tbBottomArticle.getIsDisable())设置查询条件。如果这些条件存在,它将使用 wrapper.like() 和 wrapper.eq() 方法设置相应的查询条件。
接下来,它执行查询操作,并将查询结果保存到一个列表中(List<TbBottomArticle> permissions)。
然后,它遍历列表中的每个 TbBottomArticle 对象,并将它们按照其 parentId 属性分组。它将 parentId 属性为 "0" 的 TbBottomArticle 对象保存到一个 ArrayList<TbBottomArticle> 对象中,并将其设置为一级菜单。然后,它调用一个递归方法 findChildren() 来查找每个一级菜单下的子菜单,并将它们设置为该一级菜单的 children 属性。
最后,它将封装好的一级菜单列表设置为分页对象的 records 属性,并将列表的长度设置为分页对象的 total 属性。
总体来说,这段代码的作用就是查询数据库中的数据,并将其封装到一个分页对象中,以便在前端页面进行分页展示。
相关问题
@Override public Page<SysUserPolicyEntity> selectInsured(GrpnameForm data, int current, int pageSize) { //查询 String employeeNo = data.getEmployeeNo(); String grpname = data.getGrpname(); List<SysUserPolicyEntity> lcgrpcontVoPage = lcgrpcontMapper.selectInsured(grpname); LambdaQueryWrapper<SysUserPolicyEntity> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ObjectUtils.isNotEmpty(employeeNo), SysUserPolicyEntity::getEmployeeNo, employeeNo); List<SysUserPolicyEntity> sysUserPolicyEntityList = sysUserPolicyMapper.selectList(wrapper); for (SysUserPolicyEntity record : lcgrpcontVoPage) { for (SysUserPolicyEntity policyEntity : sysUserPolicyEntityList) { if (record.getGrpcontno().equals(policyEntity.getGrpcontno())) { record.setSelectFlag(policyEntity.getSelectFlag()); } } } sysUserPolicyMapper.delete(wrapper); Page<SysUserPolicyEntity> objectPage = new Page<>(); objectPage.setRecords(lcgrpcontVoPage); objectPage.setCurrent(current); objectPage.setSize(pageSize); objectPage.setTotal(lcgrpcontVoPage.size()); return objectPage; }按照分页放入数据
可以使用PageHelper插件来实现分页,具体代码如下:
```
@Override
public Page<SysUserPolicyEntity> selectInsured(GrpnameForm data, int current, int pageSize) {
//查询
String employeeNo = data.getEmployeeNo();
String grpname = data.getGrpname();
List<SysUserPolicyEntity> lcgrpcontVoPage = lcgrpcontMapper.selectInsured(grpname);
LambdaQueryWrapper<SysUserPolicyEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ObjectUtils.isNotEmpty(employeeNo), SysUserPolicyEntity::getEmployeeNo, employeeNo);
List<SysUserPolicyEntity> sysUserPolicyEntityList = sysUserPolicyMapper.selectList(wrapper);
for (SysUserPolicyEntity record : lcgrpcontVoPage) {
for (SysUserPolicyEntity policyEntity : sysUserPolicyEntityList) {
if (record.getGrpcontno().equals(policyEntity.getGrpcontno())) {
record.setSelectFlag(policyEntity.getSelectFlag());
}
}
}
sysUserPolicyMapper.delete(wrapper);
//使用PageHelper插件进行分页
PageHelper.startPage(current, pageSize);
List<SysUserPolicyEntity> list = new ArrayList<>(lcgrpcontVoPage);
PageInfo<SysUserPolicyEntity> pageInfo = new PageInfo<>(list);
return pageInfo;
}
```
其中,PageHelper.startPage(current, pageSize)表示开始分页,current表示当前页码,pageSize表示每页显示的数量。PageInfo<SysUserPolicyEntity> pageInfo = new PageInfo<>(list)表示将分页后的数据封装到PageInfo对象中。最后返回pageInfo即可。
@GetMapping("/page") public Result findPage(@RequestParam(defaultValue = "") String name, @RequestParam Integer pageNum, @RequestParam Integer pageSize) { QueryWrapper<Orders> queryWrapper = new QueryWrapper<>(); queryWrapper.orderByDesc("id"); if (!"".equals(name)) { queryWrapper.like("name", name); } User currentUser = TokenUtils.getCurrentUser(); if (currentUser.getRole().equals("ROLE_USER")) { queryWrapper.eq("userid", currentUser.getId()); } Page<Orders> page = ordersService.page(new Page<>(pageNum, pageSize), queryWrapper); for (Orders record : page.getRecords()) { Integer id = record.getId(); List<OrderItem> orderItems = orderItemService.list(new QueryWrapper<OrderItem>().eq("order_id", id)); record.setOrderItems(orderItems); } return Result.success(page); }
这是一个使用 Spring Boot 框架编写的 RESTful API 接口,处理 GET 请求,访问路径为 "/page"。该接口接受三个参数:name,pageNum 和 pageSize,其中 name 为可选参数,pageNum 和 pageSize 为必选参数。接口的作用是查询订单信息并返回分页结果。
在实现中,接口先构造了一个 QueryWrapper 对象,在查询时按照 id 降序排序。如果传入了 name 参数,则使用 like 条件查询 name 字段。然后获取当前用户信息,如果当前用户是 ROLE_USER 角色,则使用 eq 条件查询 userid 字段。接着使用 ordersService 对象进行分页查询,查询结果为 Page 对象。最后,遍历分页结果中的每个订单记录,查询其对应的订单项,将订单项列表设置到订单记录中。最终将分页结果封装到 Result 对象中并返回。