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.
不知道怎么辦。解決不了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM