JDBC分頁查詢及實現


當數據過多時,一頁之內是無法顯示的,因此需要進行分頁顯示。
(一)分頁技術實現:
物理分頁:
- 在數據庫執行查詢時(實現分頁查詢),查詢需要的數據—-依賴數據庫的SQL語句
- 在sql查詢時,從數據庫只檢索分頁需要的數據
- 通常不同的數據庫有着不同的物理分頁語句
- 物理分頁:Mysql/SQL Server/Oracle,每種數據數的寫法是不同的
- mysql物理分頁,采用limit關鍵字,SQL Server采用top,Oracle采用rowNum
- 例如,檢索11-20條:注意,索引從0開始,第一個10代表第11條,上述語句的含義是查詢第11條到第20條

邏輯分頁:
- 先查詢所有數據到內存,再從內存截取需要的數據—-采用程序內部邏輯(先都查出來,再進行選擇)
- 在sql查詢時,先從數據庫檢索出所有數據的結果集
- 在程序內,通過邏輯語句獲得分頁需要的數據
- 例如,檢索11-20條:
- ResultSet是JDBC API中封裝的查詢結果集對象,通過該對象可以實現數據的分頁顯示。武漢英語培訓班通過ResultSet的光標實現分頁,優點是在各種數據庫上通用,缺點是占用大量資源,不適合數據量大的情況。(由於ResultSet分頁存在性能方面的缺陷,在實際開發中,很多情況都是采用數據庫提供的分頁機制來實現分頁查詢功能)

(二)實例
通過MySQL數據庫提供的分頁機制,實現商品信息的分頁查詢功能,將分頁數據顯示在JSP頁面
(1)JavaBean:用於封裝商品信息

由於每頁記錄數一般不會修改,因此將其定義為final類型(靜態的final類型變量,通常情況下我們大寫)。

按照DAO模式,接下來我們分別編寫數據層和業務層

(2)創建名稱為BookDao的類,用於封裝數據庫相關操作。

(3)創建FindServlet類,實現獲取分頁查詢結果及構造分頁條對象。其中獲取分頁查詢結果,通過調用BookDao類中的find()方法,雅思作文思路並傳遞所要查詢的頁碼就可以獲取;分頁條對象是JSP頁面中的分頁條,用於顯示商品信息的頁碼,程序中主要通過創建頁碼的超鏈接,然后組合字符串進行構造:

(4)web層進行顯示

主界面:

商品顯示界面:


免責聲明!

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



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