首先是错误的代码
@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);只对紧跟着的查询结果进行分页!

京公网安备 11010502036488号