zoukankan      html  css  js  c++  java
  • 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     }
  • 相关阅读:
    敏捷之旅--携程境外租车团队敏捷实践
    (一)LoadRunner安装
    性能测试,相关术语解析
    Newtonsoft.Json
    主流浏览器基于哪些内核?
    火狐浏览器与谷歌浏览器区别在哪里?
    带宽计算-大B与小b的区别
    loadrunner11录制不成功解决方法
    代码中的事务约束
    IOC框架Ninject实践总结
  • 原文地址:https://www.cnblogs.com/windbag7/p/9386668.html
Copyright © 2011-2022 走看看