引入pagehelper依赖
在serviceipml类中,在调用mapper方法之前执行PageHelper.startPage(page,pageSize)
@Override
@Transactional(propagation = Propagation.SUPPORTS)
public PagedGridResult queryMyOrders(String userId, Integer orderStatus, Integer page, Integer pageSize) {
Map<String,Object> map = new HashMap<>();
map.put("userId",userId);
if ( !StringUtils.isEmpty(orderStatus)){
map.put("orderStatus",orderStatus);
}
PageHelper.startPage(page,pageSize);
List<MyOrdersVO> list = ordersMapperCustom.queryMyOrders(map);
return setterPagedGrid(list,page);
}
/**
* 用于分页设置
* @param list
* @param page
* @return
*/
private PagedGridResult setterPagedGrid(List<?> list,Integer page){
PageInfo<?> pageList = new PageInfo<>(list);
PagedGridResult grid = new PagedGridResult();
grid.setPage(page);
grid.setRows(list);
grid.setTotal(pageList.getPages());
grid.setRecords(pageList.getTotal());
return grid;
}
通用mapper的调用方法
@Override
@Transactional(propagation = Propagation.REQUIRED)
public void updateDeliverOrderStatus(String orderId) {
OrderStatus updateOrder = new OrderStatus();
updateOrder.setOrderStatus(OrderStatusEnum.WAIT_RECEIVE.type);
updateOrder.setDeliverTime(new Date());
Example example = new Example(OrderStatus.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("orderId",orderId);
criteria.andEqualTo("orderStatus",OrderStatusEnum.WAIT_RECEIVE.type);
orderStatusMapper.updateByExampleSelective(updateOrder,example);
}