【知了堂學習筆記】JSP頁面資料分頁實現(一)——分頁概念以及主流資料庫的分頁查詢

來源:互聯網
上載者:User

標籤:樣式   strong   推薦   over   接下來   概念   搜尋   dex   顯示   

一.分頁簡介

  1.分頁,就是一種將資料庫裡的資料一部分展示給使用者的技術。為什麼要這樣做呢?因為一般來說使用者在查詢時資料是非常多的,當一個頁面不能顯示所有資料時,我們就要對查詢的資料進行分頁,就像我們的書本分成一頁一頁一樣。最簡單的例子就是百度,當你百度時,成千上萬的資料,並不是呈現在一個頁面的。

  

  2.分頁的實現方式

    1)假分頁(不推薦):什麼是假分頁呢?假分頁就是一次性將資料庫裡的資料全部取出來,儲存在頁面中,然後再將資料分別展示出來。這種假分頁在資料少的還可以玩玩,當資料多起來的時候,這種方式就爆炸了。由於一次取出的資料太大,會導致你的頁面爆炸,點下一頁要等很久,使用者體驗感很差,所以不推薦使用。

    2)真正的分頁:真正的分頁就是你的頁面需要多少資料,就去資料庫取多少資料。這種分頁就十分靈活了,在對付資料龐大的查詢時,有很大的優勢。所以我們這次的筆記就使用這樣的方式。

二.資料庫分頁查詢

  資料庫分頁查詢,就是根據頁面的需要,一次只查詢部分的資料,當使用者點擊下一頁的時候就繼續查詢另外的資料。現在主流的資料庫主要有三種:Oracle、MySQL、SQL server,我們接下來就看看,三種資料庫對應分頁查詢的方法。

 1.MySQL——相對來說最簡單分頁查詢

  MySQL的分頁查詢要用到 limit關鍵字,方式就是 limit m,n   m表示第幾條資料   n表示從m+1開始取多少條資料,比如

    select * from table limit m,n       其中m是指記錄開始的index,從0開始,表示第一條記錄

    具體:select * from tableName where 條件 limit 當前頁碼*頁面容量-1,頁面容量

 2.Oracle 分頁

  Oracle分頁要用到的關鍵字是 rownum (行號),我們直接看它的用法

  1)查詢表中的前n條記錄   : select * from Table where rownum <= n

  2)查詢第 n 到第 m 條記錄   :select * from (select 表名.*, rownum rn from 表名 where rownum <=m) where rn > n;
      對於這種形式的查詢,oracle不像mysql那麼方便,它必須使用子查詢或者是集合操作來實現。

 3.SQL server的分頁

   在分頁查詢上,我感覺SQL Server比較費勁,沒有一個專門的分頁的語句,並且每個版本對應的查詢方式不一樣,比如:  

    1)SQL Server 2000資料庫分頁
    Select top pagesize * from 表名 where 列名 not  in(select top pagesize*page 列名 from  表名 order by 列名) order by 列名

    2)SQL Server 2005資料庫分頁(後面的資料分頁就大同小異了)
    Select * from (select 列名,row_搜尋number() over(order by  列名1) as 別名from 表名) as t where t.列名1>=startrow and t.列名1<=endrow

三.頁面的編寫

  資料的分頁查詢學會了,我們就要規劃頁面如何在頁面顯示了。一般的網頁中,我們都是以表格的樣式呈現資料的,所以我們先把jsp頁面做好,再去通過編寫後台代碼讓資料呈現在頁面上,這裡我給出了我們測試的jsp頁面:

  :

附上代碼:

  

<div class="search">            <p>申請日期:</p>            <select id="time">                <option >選擇日期</option>            </select>            <input class="button" type="submit" name="" value="查詢"></input>            <div class="tuxin"><img src="../../images/圖形化報表.png"> <a href="#">圖形報表</a></div>            <div class="dayin"><img src="../../images/印表機.png"> <a href="#">匯出列印</a></div>            <form>            <p>採購編號:</p>            <input type="text" name="">            <p>材料名稱:</p>            <input type="text" name="">            <input class="button" type="submit" name="" value="查詢"></input>            <input type="reset" class="button" value="重設" style="background:#e4e1e1;color:#000"></input>            </form>        </div>        <div class="contents">            <table class="table">                <tr>                    <td>申請日期</td>                    <td>申請人</td>                    <td>採購員</td>                    <td>材料編號</td>                    <td>材料名稱</td>                    <td>規格型號</td>                    <td>計量單位</td>                    <td>申請數量</td>                    <td>備忘</td>                    <td>操作</td>                </tr>                <tr>                    <td>2017/8/7</td>                    <td>小賢</td>                    <td>張三</td>                    <td>1001</td>                    <td>玻璃</td>                    <td>100X100X3</td>                    <td>cm(厘米)</td>                    <td>1000</td>                    <td>無</td>                    <td><a class="delete" href="#"><img src="../../images/delete_8e.png"></a></td>                </tr>            </table>            <div class="paging">                <a class="button" href="">上一頁</a>                <a href="#">1</a>                <a href="#">2</a>                <a href="#">3</a>                <a href="#">4</a>                <a href="#">5</a>                <a class="button" href="">下一頁</a>                <p>共<span>5</span>頁&nbsp;&nbsp;&nbsp;到第</p>                <input  type="text" name="">                <p style="margin:2px -1px 0 10px;">頁</p>                <input class="button" type="submit" value="確認">            </div>        

下章我們就實現頁面資料的展示:

【知了堂學習筆記】JSP頁面資料分頁實現(一)——分頁概念以及主流資料庫的分頁查詢

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.