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.不知道怎麼辦。解決不了。
相關文章
相關標籤/搜索