javaweb中实现分页,持续更新……
大家好,歡迎來到雄雄的小課堂,昨天分享了個分頁工具類一個簡單的分頁工具類,其實,也是為今天的分享做的鋪墊,今天,給大家帶來的是javaweb實現分頁的全過程!
前言:為什么需要分頁?假設某大學有人數一萬人,學生信息管理系統需要查詢所有大學生的信息,那么就會將1w個學生的信息都查詢的顯示在頁面中,管理員每次都需要不斷的往下拖動頁面才能瀏覽完所有學生信息,并且還容易看錯行。有沒有一種方法,既可以顯示多條信息,又不用你拖動頁面呢?答案當然是有的,那就是我們今天所有看的分頁!
01
實現分頁的方式
其實,實現分頁的方式有好多種,一種是直接將需要查詢的數據一次性查詢出來,放在一個集合中,每次在集合中遍歷出需要展示的數據即可。但是,這種方法是有缺點的,第一,看到的數據可能不是最新的,比如實時更新的數據(股票、外匯數據)肯定不能用這種方式。其次,如果數據庫中有幾萬條數據的話,這么一次都查詢出來往集合中扔,效率是非常低下的,耗時也很多。
第二種實現分頁的方式就是,我們可以從數據庫中查詢我們每頁所需要的數據,比如每頁顯示5條,那你就在數據庫中查詢5條,實時從數據庫中查詢,一來避免了數據庫過大性能的問題,二來,由于每次都是從數據庫中實時查詢的,所以也就不會存在數據過期問題了。
今天,我們就用第二種方式來實現分頁。
02
實現分頁的步驟
1.確定頁大小(每頁顯示的數據量)
這個其實很好理解,每頁顯示5條,就設置5條即可,每頁顯示10條,就設置10條,當然,這個每頁顯示的數據量也可以交給用戶決定。
2.計算顯示的總頁數
有了每頁顯示的條數,在給你所有條數,你會不會算一共有多少頁?就像一共有21個雞蛋(總記錄數)需要給籃子里面裝,每個籃子最多只能放5(每頁顯示的數據量)個,那么你需要多少個籃子才能把21個雞蛋都放完?怎么算?
21/5=4余1,余下來的這一個怎么辦?當然是在找個籃子放進去,這樣的話,我們就需要4+1個籃子。
數據也是這樣的,如果有19條數據,每頁顯示5條,需要多少頁?
19/5=3余4,那最后總頁數就是3+1,4頁!
思維轉換到java中,代碼如下:
總頁數 = 總記錄數%頁大小==0?總記錄數/頁大小: 總記錄數/頁大小+1;
那有同學會問,老師,總記錄數咋來的,你也沒告訴我啊?總記錄數我們只需要一條sql語句就搞定了,如下:
Selct count(*) from student;
3.寫分頁的sql語句
目前我們就以mysql為例,mysql中分頁的語法如下:
Select * from student limit 0,5;
其中student為數據表0為偏移量,動態的,5為頁大小,固定的。
假使我們取第一頁數據,不需要便宜,那偏移量就是0,如果我們取第二頁的數據,需要從第六條開始顯示,需要越過第一頁的1-5條數據,偏移量得從6開始,可以總結出一個規律,那就是:
偏移量=(當前頁-1)*頁大小
例如,第三頁的偏移量,即:(3-1)*5=10;
今天我們就先看這些,明天將今天的理論知識運用到javaweb的代碼中做一個具體的案例。
往期精彩
一個簡單的分頁工具類
2020-11-23
javaWeb中,如何通過Commons-FileUpload組件上傳文件
2020-11-22
多功能語音播放器
2020-11-21
CSS動畫示例(上一篇是CSS過渡…)
2020-11-20
CSS3中的動畫示例
2020-11-19
CSS3的幾個變形案例……
2020-11-18
點分享
點點贊
點在看
總結
以上是生活随笔為你收集整理的javaweb中实现分页,持续更新……的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北汽新能源与 TURING 合作,改款极
- 下一篇: javaweb实现分页查询(一)