构造PagedList数据结构

以下是一个xxxServiceImp的代码实例

@Override
    public PagedList<Device> getAllByModel(String queryStr, int model, int page, int pageSize) {
        Pageable pageable = PageRequest.of(page-1, pageSize);
        Page<DeviceDetailEntity> deviceEntities = deviceRepository.findByModelIdAndKeyword(model, queryStr, pageable);
        List<Device> devices = deviceEntities.stream().map(p ->
        {
                Device device = new Device(p.getId(), p.getModelId(), p.getName(), p.getDescription(), p.getPositionId(),p.getAddUser());
                device.setError(p.isError());
                device.setOnline(p.isOnline());
                device.setPoint(new GeoPoint(p.getLng(), p.getLat()));
                return device;
        }).collect(Collectors.toList());

        PagedList<Device> devicePage = new PagedList<>(deviceEntities.getTotalElements(), page, pageSize);
        devicePage.setItems(devices);
        return devicePage;
    }

findByModelIdAndKeyword(model, queryStr, pageable)这个方法是在Jpa中自定义的,所以返回结果是一个Page。所以,要直接在xxxServiceImp接口中返回PagedList<>()对象,需要在JPA自定义一个方法,返回Page对象,用Page对象的getTotalElements()方法来获取totla参数值,有参构造PagedList<>().

或者直接用Jpa的方法返回List<>()对象,用它的size()方法获取total参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值