2013-05-27 69 views
1

我是dynamo db的新手。我必須執行分頁。我必須在我的html頁面中顯示十條記錄。我對dynamo db完全陌生。任何人都可以在Dynamo數據庫中共享任何示例查詢分頁。我已經研究了亞馬遜發電機數據庫教程,但我沒有得到任何想法。 我可以使用高級和低級API來實現分頁嗎?任何人都可以建議從哪裏開始?DynamoDb分頁在java中查詢

回答

2

由於yegor256建議,您可以使用查詢(QueryRequest)或setExclusiveStartKey,而不是掃描(ScanRequest)。這裏有一個如何做的代碼片段

HashMap<String, Condition> scanFilter = new HashMap<String, Condition>(); 
Condition condition = new Condition() 
      .withComparisonOperator(ComparisonOperator.LT.toString()) 
      .withAttributeValueList(new AttributeValue().withN("100")); 
scanFilter.put("column1", condition); 
Boolean lastEval = true; 
int count = 0; 
ScanRequest scanRequest = new ScanRequest(tableName).withScanFilter(scanFilter); 
while(lastEval) { 
    ScanResult scanResult = dynamoDB.scan(scanRequest); 
    count += scanResult.getCount(); 
    System.out.println("Page Size: " + scanResult.getCount()); 
    System.out.println("Total count = " + count); 
    if (scanResult.getLastEvaluatedKey() != null) 
     lastEval = scanResult.getLastEvaluatedKey().isEmpty() == false; 
    else 
     lastEval = false; 
    if (lastEval) { 
     scanRequest.setExclusiveStartKey(scanResult.getLastEvaluatedKey()); 
    } 
}