更新時間:2020-10-20 17:05:26 來源:動力節點 瀏覽1497次
相信大家在學習javaweb時,會遇到需要分頁顯示的情況。當數據量太多,又同時顯示在一個頁面的話,不僅可能會造成內存溢出,還會影響到用戶體驗,這個時候就需要實現javaweb分頁顯示的功能了。那么javaweb分頁顯示該怎樣實現,怎么操作呢?
分頁功能在網頁中是非常常見的一個功能,其作用也就是將數據分割成多個頁面來進行顯示,下面給出兩個javaweb分頁顯示方法。
一、借助數組進行分頁
原理:進行數據庫查詢操作時,獲取到數據庫中所有滿足條件的記錄,保存在應用的臨時數組中,再通過List的subList方法,獲取到滿足條件的所有記錄。
實現:首先在dao層,創建StudentMapper接口,用于對數據庫的操作。在接口中定義通過數組分頁的查詢方法,如下所示:
方法很簡單,就是獲取所有的數據,通過list接收后進行分頁操作。創建StudentMapper.xml文件,編寫查詢的sql語句:
可以看出再編寫sql語句的時候,我們并沒有作任何分頁的相關操作。這里是查詢到所有的學生信息。接下來在service層獲取數據并且進行分頁實現,定義IStuService接口,并且定義分頁方法:
List
通過接收currPage參數表示顯示第幾頁的數據,pageSize表示每頁顯示的數據條數。創建IStuService接口實現類StuServiceIml對方法進行實現,對獲取到的數組通過currPage和pageSize進行分頁:
通過subList方法,獲取到兩個索引間的所有數據。這種方法實現javaweb分頁操作的缺點:數據庫查詢并返回所有的數據,而我們需要的只是極少數符合要求的數據。當數據量少時,還可以接受。當數據庫數據量過大時,每次查詢對數據庫和程序的性能都會產生極大的影響。
二、借助Sql語句進行分頁
在了解到通過數組分頁的缺陷后,我們發現不能每次都對數據庫中的所有數據都檢索。然后在程序中對獲取到的大量數據進行二次操作,這樣對空間和性能都是極大的損耗。所以我們希望能直接在數據庫語言中只檢索符合條件的記錄,不需要在通過程序對其作處理。這時,Sql語句來實現javaweb分頁技術。
實現:通過sql語句實現分頁也是非常簡單的,只是需要改變我們查詢的語句就能實現了,即在sql語句后面添加limit分頁語句。首先還是在StudentMapper接口中添加sql語句查詢的方法,如下:
然后在StudentMapper.xml文件中編寫sql語句通過limiy關鍵字進行分頁:
接下來還是在IStuService接口中定義方法,并且在StuServiceIml中對sql分頁實現。sql分頁語句如下:
所以在service中計算出currIndex:要開始查詢的第一條記錄的索引。結果:從輸出結果可以看出和數組分頁的結果是一致的,因此sql語句的分頁也是沒問題的。
用SQL語句來進行javaweb分頁顯示的缺點:雖然這里實現了按需查找,每次檢索得到的是指定的數據。但是每次在分頁的時候都需要去編寫limit語句,很冗余。而且不方便統一管理,維護性較差。
這兩種javaweb分頁顯示實現方法是需要大家掌握的,但分頁顯示的方法不止借助數組和SQL語句,還可以用攔截器實現,大家可以在javaweb教程中學習到所有分頁顯示的方法,并加以練習,相信朋友們都可以掌握javaweb的相關技能。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習