以下是一個Java代碼示例,用于循環獲取分頁數據:
int pageNum = 1; // 當前頁碼,起始頁為1
int pageSize = 10; // 每頁數據條數
boolean hasMore = true; // 標識是否還有數據
while (hasMore) {
// 查詢第 pageNum 頁數據
List<Data> dataList = getDataList(pageNum, pageSize);
// 處理數據
for (Data data : dataList) {
// do something
}
// 判斷是否還有數據
if (dataList.size() == pageSize) {
pageNum++;
} else {
hasMore = false;
}
}
// 查詢分頁數據的方法定義
public List<Data> getDataList(int pageNum, int pageSize) {
// 模擬從數據庫中查詢分頁數據
List<Data> list = new ArrayList<>();
for (int i = 0; i < pageSize; i++) {
list.add(new Data((pageNum - 1) * pageSize + i)); // 生成模擬數據
}
return list;
}
// 模擬數據類
class Data {
private int id;
public Data(int id) {
this.id = id;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
解釋:
1. 首先定義了當前頁碼和每頁數據條數,以及一個標識是否還有數據的變量;
2. 進入循環體,通過查詢第 pageNum 頁數據,得到一個包含若干條數據的列表;
3. 處理數據,對列表中的每個數據進行處理;
4. 判斷查詢到的數據條數是否等于每頁數據條數,如果相等,則說明還有更多數據,將 pageNum 加1,繼續查詢下一頁的數據;否則,說明當前是最后一頁,標識變量 hasMore 置為 false,跳出循環;
5. 最后,定義一個方法來模擬從數據庫中查詢分頁數據,可以根據實際需求進行修改。