网上商城之分页查询

来源:互联网 发布:网络信息监控技术 编辑:程序博客网 时间:2024/04/30 17:04

      小编最近在做一个关于网上商城的项目。做任何一个项目都有关于查询方法的编写,在这里我重新完整的整理了一下分页查询的方法的书写。之前在做的项目的时候因为是做成绩分析,不涉及页面数据显示,所以还没有自己做过分页查询的功能,这次算是我第一次涉及到分页查询。那么下面我来说一些我的网上商城中涉及到的两种分页方法,仅提供核心代码。

     第一种分页查询是离线分页:

public List<Product> findHot() {        // 使用离线条件查询        DetachedCriteria criteria = DetachedCriteria.forClass(Product.class);        // 产讯热门商品,条件是is_host = 1        criteria.add(Restrictions.eq("is_hot", 1));        // 倒序输出查询结果:        criteria.addOrder(Order.desc("pdate"));        // 保存到值栈中:        List<Product> list = this.getHibernateTemplate().findByCriteria(                criteria, 0, 10);        return list;    }  
   第二种是先查询,然后再分页:

public PageBean<Order> findByUid(Integer uid,Integer page) {        PageBean<Order> pageBean = new PageBean<Order>();     // 设置当前的页数        pageBean.setPage(page);             //设置煤业显示记录数        int limit = 5;        pageBean.setLimit(limit);       //设置消息总记录数        int totalCount = 0;        totalCount = orderDao.findCountByUid(uid);        pageBean.setTotalCount(totalCount);        //        int totalPage = 0;        if(totalCount % limit == 0){            totalPage = totalCount / limit;        }else{            totalPage = totalCount / limit + 1;        }        pageBean.setTotalPage(totalPage);        //         int begin = (page - 1)*limit;        List<Order> list = orderDao.findPageByUid(uid,begin,limit);        pageBean.setList(list);        return pageBean;    }

     总结:
              我们之前做项目的时候有时候在这种功能上下的功夫不深,但是有时候我们需要做的更多的是这种关于客户体验的功能,用户体验做好了,我们的软件才有人用,我们才能有更好的发展空间!

0 0