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

实现的效果:前端

 

 

 点击“查询商品”以后-》java

 

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

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

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

Easyui中datagrid控件要求的数据格式为:前端框架

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

 

数据库中的数据:框架

 

咱们从数据库中查出来数据:由于逆向工程,咱们已经包装成了Pojo。可是由于咱们要符合EasyUI的格式,因此咱们要从新设计一个pojo类。ide

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

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.不知道怎么办。解决不了。
相关文章
相关标签/搜索