SpringbootJPA分页 PageRequest过时替代办法
service
//jpa分页查询
offset = Math.max(offset, 1);
limit = Math.max(limit, 10);
PageRequest pageRequest = PageRequest.of(offset - 1, limit);
Page<Books> booksPage = bookDao.findByIdAndStatus(id, "active", pageRequest);
List<booksDto> booksDtoList = convert(booksDPage.getContent());
public interface OrderMasterRepository extends JpaRepository<OrderMaster, String> {
Page<OrderMaster> findByBuyerOpenid(String buyerOpenid, Pageable pageable);
}
@Test
public void findByBuyerOpenid() throws Exception {
PageRequest request = new PageRequest(1, 10);
Page<OrderMaster> result = repository.findByBuyerOpenid(OPENID, request);
Assert.assertNotEquals(0, result.getTotalElements());
}
数据库的的数据
将满足条件的数据,每页10条数据分成2页,查询出来
service层
@Override
public Page<OrderDTO> findList(String buyerOpenid, Pageable pageable) {
Page<OrderMaster> orderMasterPage = orderMasterRepository.findByBuyerOpenid(buyerOpenid, pageable);
List<OrderDTO> orderDTOList = OrderMaster2OrderDTOConverter.convert(orderMasterPage.getContent());
return new PageImpl<OrderDTO>(orderDTOList, pageable, orderMasterPage.getTotalElements());
}
PageImpl(): 有三个参数,前两个必填,第几页,一页多少个size,第三个参数默认可以不填