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     }
  • 相关阅读:
    违反并发性: UpdateCommand 影响了预期1条记录中的0条——我的解决方案
    (转)使用DataGridView控件常见问题解答
    C#中如何去除数组中重复的项
    C#中如何去除HTML标记
    (转)中断基本概念
    JavaScript 操作 Cookie
    要有梦想创造卓越的职业生涯
    《暗时间》读书笔记与读后感
    前端攻略系列
    前端攻略系列(一) 前端各种优化(保证持续更新)
  • 原文地址:https://www.cnblogs.com/windbag7/p/9386668.html
Copyright © 2011-2022 走看看