在使用JDBC查詢數據庫并返回結果集時,可以使用LIMIT和OFFSET來實現分頁。
LIMIT用于限制返回的數據行數,OFFSET用于指定從結果集的第幾行開始返回數據。
例如,假設要查詢名為"users"的表,并返回第2頁,每頁顯示10條記錄,可以使用以下SQL語句:
```java
SELECT * FROM users LIMIT 10 OFFSET 10;
```
在使用JDBC時,可以將LIMIT和OFFSET的值作為參數傳遞給SQL語句。下面是示例代碼:
```java
int page = 2; // 第幾頁
int pageSize = 10; // 每頁記錄數
int offset = (page - 1) * pageSize; // 計算偏移量
String sql = "SELECT * FROM users LIMIT ? OFFSET ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, pageSize);
statement.setInt(2, offset);
ResultSet resultSet = statement.executeQuery();
// 處理查詢結果
while (resultSet.next()) {
// 處理每條記錄
}
// 關閉連接
resultSet.close();
statement.close();
connection.close();
```
在以上代碼中,通過計算偏移量來確定從第幾行開始返回數據,并將其作為參數設置到PreparedStatement對象中。然后執行查詢語句,遍歷結果集處理每條記錄。最后,關閉結果集、語句和連接。
通過調整page和pageSize的值,可以實現不同頁數和每頁記錄數的分頁查詢。