Java中怎么對(duì)多條記錄進(jìn)行分頁(yè)

小億
114
2023-10-14 03:48:43

在Java中,可以使用如下代碼對(duì)多條記錄進(jìn)行分頁(yè):

int pageNumber = 1; // 當(dāng)前頁(yè)碼
int pageSize = 10; // 每頁(yè)顯示的記錄數(shù)
// 計(jì)算起始行號(hào)
int startRow = (pageNumber - 1) * pageSize;
// 查詢數(shù)據(jù)庫(kù),根據(jù)起始行號(hào)和每頁(yè)顯示的記錄數(shù)查詢數(shù)據(jù)
String sql = "SELECT * FROM table_name LIMIT ?, ?";
PreparedStatement pstmt = connection.prepareStatement(sql);
pstmt.setInt(1, startRow);
pstmt.setInt(2, pageSize);
ResultSet rs = pstmt.executeQuery();
// 遍歷查詢結(jié)果
while (rs.next()) {
// 處理每條記錄
// ...
}
// 關(guān)閉資源
rs.close();
pstmt.close();
connection.close();

在上述代碼中,首先定義了當(dāng)前頁(yè)碼(pageNumber)和每頁(yè)顯示的記錄數(shù)(pageSize),然后根據(jù)這兩個(gè)參數(shù)計(jì)算出要查詢的起始行號(hào)(startRow)。接著使用PreparedStatement對(duì)象執(zhí)行帶有LIMIT和OFFSET的SQL語(yǔ)句,將起始行號(hào)和每頁(yè)顯示的記錄數(shù)作為參數(shù)傳入。最后,通過(guò)遍歷ResultSet對(duì)象獲取查詢結(jié)果。

需要注意的是,此處的代碼并未做錯(cuò)誤處理和異常處理,實(shí)際應(yīng)用中應(yīng)根據(jù)需要進(jìn)行相應(yīng)的處理。

0