首先是错误的代码

@Override
    public PageResult findUserDiscount(String username, Integer page, Integer pageSize) {
        PageHelper.startPage(page,pageSize);
        UserDiscountQuery query = new UserDiscountQuery();
        UserDiscountQuery.Criteria criteria = query.createCriteria();
        criteria.andUserIdEqualTo(username);
        List<UserDiscount> list = userDiscountDao.selectByExample(query);
        if (list.size() > 0) {
            ArrayList<Integer> arrayList = new ArrayList<>();
            for (UserDiscount discount : list) {
                arrayList.add(discount.getDiscountId());
            }
            DiscountQuery discountQuery = new DiscountQuery();
            DiscountQuery.Criteria queryCriteria = discountQuery.createCriteria();
            queryCriteria.andIdIn(arrayList);
            Page<Discount> discounts = ( Page<Discount>)discountDao.selectByExample(discountQuery);
            return new PageResult(discounts.getTotal(),discounts.getResult());
        }
        return null;
    }

更正后的代码

    @Override
    public PageResult findUserDiscount(String username, Integer page, Integer pageSize) {
        UserDiscountQuery query = new UserDiscountQuery();
        UserDiscountQuery.Criteria criteria = query.createCriteria();
        criteria.andUserIdEqualTo(username);
        List<UserDiscount> list = userDiscountDao.selectByExample(query);
        if (list.size() > 0) {
            ArrayList<Integer> arrayList = new ArrayList<>();
            for (UserDiscount discount : list) {
                arrayList.add(discount.getDiscountId());
            }
            PageHelper.startPage(page,pageSize);
            DiscountQuery discountQuery = new DiscountQuery();
            DiscountQuery.Criteria queryCriteria = discountQuery.createCriteria();
            queryCriteria.andIdIn(arrayList);
            Page<Discount> discounts = ( Page<Discount>)discountDao.selectByExample(discountQuery);
            return new PageResult(discounts.getTotal(),discounts.getResult());
        }
        return null;
    }

PageHelper.startPage(page,pageSize);只对紧跟着的查询结果进行分页!