2013-05-27 3 views
1

Je suis nouveau à dynamo db. Je dois mettre en œuvre la pagination. Je dois montrer dix enregistrements dans ma page html. Je suis complètement nouveau à dynamo db. Quelqu'un peut-il partager un exemple de requête pour la pagination dans dynamo db. J'ai étudié amazon dynamo db tutorial mais je n'ai pas eu d'idée. Puis-je implémenter la pagination à l'aide d'API de haut niveau et de bas niveau? quelqu'un peut-il suggérer par où commencer ??DynamoDb pagination Requête en Java

Répondre

2

Comme yegor256 suggéré, vous pouvez utiliser la requête (QueryRequest) ou scanner (ScanRequest) avec setExclusiveStartKey à la place. Voici un extrait de code de la façon de le faire

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()); 
    } 
}