shop--8.店铺列表展示--Service层

在service层中, 有一个问题,就是:

dao层中的分页查询传参,传入的是rowIndex(从第几行开始查询), pageSize(查询多少条记录)

而在service层中分页查询传的是pageIndex(第几页),pageSize

所以在第一个参数要有一个转换才可以

所以编写一个工具类,将pageIndex转为rowIndex

PageCalculator

 1    /**
 2      * 将pageIndex(第几页)转换为查询结果中的第几行rowIndex
 3      * 如果pageIndex是1 pageSize是5 那么就是从第0行开始取5条数据
 4      * 如果pageIndex是2 pageSize是5 那么就是从第5行开始取5条数据 
 5      * @param pageIndex
 6      * @param pageSize
 7      * @return
 8      */
 9     public static int calculateRowIndex(int pageIndex,int pageSize) {
10         return (pageIndex > 0)?(pageIndex - 1) * pageSize : 0;
11     }    

 

service接口

 1 /**
 2      * 实现分页查询店铺,通过条件组合,来筛选出条件范围内的店铺列表
 3      * 根据shopCondition分页返回相应店铺列表
 4      * 因为需要List 和 count 所以使用ShopExecution类型
 5      * @param shopCondition
 6      * @param pageIndex 第几页
 7      * @param pageSize 一页中数据的数量
 8      * @return ShopExecution 
 9      */
10     public ShopExecution getShopList(Shop shopCondition,int pageIndex,int pageSize);

 

serviceImpl

 1     @Override
 2     public ShopExecution getShopList(Shop shopCondition, int pageIndex, int pageSize) {
 3         int rowIndex = PageCalculator.calculateRowIndex(pageIndex, pageSize);
 4         List<Shop> shopList = shopDao.queryShopList(shopCondition, rowIndex, pageSize);
 5         int count = shopDao.queryShopCount(shopCondition);
 6         ShopExecution se = new ShopExecution();
 7         if(shopList != null) {
 8             se.setShopList(shopList);
 9             se.setCount(count);
10         }else {
11             se.setState(ShopStateEnum.INNER_ERROR.getState());
12         }
13         return se;
14     }

 

转载于:https://www.cnblogs.com/windbag7/p/9386668.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值