008商城项目:商品列表查询-查出商品并且分页

Posted jim_shen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了008商城项目:商品列表查询-查出商品并且分页相关的知识,希望对你有一定的参考价值。

实现的效果:

 

 

 点击“查询商品”之后-》

 

我们的前台用的是EasyUI框架。页面的数据显示规则是:

请求的参数:http://localhost:8080/item/list?page=1&rows=30    分页信息。(需要看官方的手册)

返回值。Json数据。数据格式:

Easyui中datagrid控件要求的数据格式为:

{total:”2”,rows:[{“id”:”1”,”name”,”张三”},{“id”:”2”,”name”,”李四”}]}

 

数据库中的数据:

 

我们从数据库中查出来数据:因为逆向工程,我们已经包装成了Pojo。但是因为我们要符合EasyUI的格式,所以我们要重新设计一个pojo类。

这个pojo类里面要有两个属性:

total属性:查询到的结果的数量。

rows:帮我们从数据库中查询到的数据包装进去。

 

我们在taotao-common创建这个pojo类:

 

 

package com.taotao.common.pojo;

import java.util.List;

/**
 * 
 * @author xiaoquan
 *这个类是为了从数据库查询出数据而设立的pojo类,我们的前端框架用的是EasyUi框架我们的数据返回到页面
 *显示是有要求的,需要两个额外的属性。totol。并且把我们的数据库里面查询到的数据集包装到rows里面
 *所以我们自定义这么一个pojo类。
 *
 */
public class EUDataGridResult {
public long total;
public long getTotal() {
    return total;
}
public void setTotal(long total) {
    this.total = total;
}
public List<?> rows;

public List<?> getRows() {
    return rows;
}
public void setRows(List<?> rows) {
    this.rows = rows;
}










}

 

 

DAO层:我们还是就用逆向工程生成的好了。

 

 

 

 

 

    分页插件PageHelper

我们想把查询出来的数据进行分页的话,我们只能修改逆向工程生成的Mapper里面的sql语句,但是这样很麻烦,所以我们就利用现有的插件。

这个插件对逆向工程生成的支持不好。所以用了培训班里面的修改版。

我们现在写Service层:

@Override
    public EUDataGridResult getItemList(int page, int rows) {

        TbItemExample tbItemExample = new TbItemExample();

        PageHelper.startPage(page, rows);//插件的使用
        List<TbItem> list = itemMapper.selectByExample(tbItemExample);
        
        EUDataGridResult result = new EUDataGridResult();
        result.setRows(list);//把查询出来的数据封装进我们的新建的pojo类。
        PageInfo<TbItem> pageInfo = new PageInfo<>(list);//设置总的数量
        System.out.println(pageInfo.getTotal());
        
        result.setTotal(pageInfo.getTotal()); 

return result; }

 

 

我们现在写Action层:

    @RequestMapping("/item/list")
    @ResponseBody//把查询出来的数据全部转化成json格式输出到页面上。
    public EUDataGridResult getItemList(Integer page,Integer rows) {
        EUDataGridResult result = itemService.getItemList(page, rows);
        return result;
    }

 

调试:

 

 数据能查出来,但是分页失败了。这里一次出来了100条,而且servie里面的

pageInfo.getTotal()就是0.
不知道怎么办。解决不了。

 

以上是关于008商城项目:商品列表查询-查出商品并且分页的主要内容,如果未能解决你的问题,请参考以下文章

[项目] 电子商城项目 Part.2

淘淘商城02——dubbo框架整合_商品列表查询实现_分页

VUE项目实战50商品列表分页查询和删除效果

商城项目开发

分布式电商项目(04)--商品列表查询及分页

商城项目11_商品SPUSKU详解表结构属性分组列表展示修改新增分类级联更新