Query Date Range in DynamoDB Using Java (Guide w/ Code Examples)

Provided by Rafal Wilinski
This example queries the MyTable
table for items where the date
attribute is between one month ago and now. The Calendar
class is used to get the current date and a date one month ago, which are then passed as parameters to the query.
import java.util.Calendar; import java.util.HashMap; import java.util.Map; import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder; import com.amazonaws.services.dynamodbv2.model.AttributeValue; import com.amazonaws.services.dynamodbv2.model.Condition; import com.amazonaws.services.dynamodbv2.model.QueryRequest; import com.amazonaws.services.dynamodbv2.model.QueryResult; public class QueryDateRangeExample { public static void main(String[] args) { AmazonDynamoDB client = AmazonDynamoDBClientBuilder.defaultClient(); Calendar calendar = Calendar.getInstance(); java.util.Date now = calendar.getTime(); calendar.add(Calendar.MONTH, -1); java.util.Date oneMonthAgo = calendar.getTime(); Map<String, AttributeValue> attributeValues = new HashMap<>(); attributeValues.put(":start", new AttributeValue().withS(oneMonthAgo.toString())); attributeValues.put(":end", new AttributeValue().withS(now.toString())); QueryRequest queryRequest = new QueryRequest() .withTableName("MyTable") .withKeyConditionExpression("date BETWEEN :start AND :end") .withExpressionAttributeValues(attributeValues); QueryResult result = client.query(queryRequest); result.getItems().forEach(item -> System.out.println(item)); } }
Similar Code Examples
- Get All Items from DynamoDB Using Java
- Batch Update Using DynamoDB Mapper
- Query Local Secondary Index in DynamoDB Using Java
- Batch Save Using DynamoDB Mapper
- Delete Expression in DynamoDB Using Java
- GetItem in DynamoDB Using Java
- Update Multiple Attributes in DynamoDB Using Java
- Update Attribute in DynamoDB Using Java
- Batch Write Item in DynamoDB Using Java
- Delete in DynamoDB Using Java
- Batch Query in DynamoDB Using Java
- Query Global Secondary Index in DynamoDB Using Java
- Batch Load Using DynamoDB Mapper
- Batch Get in DynamoDB Using Java
- Batch Insert in DynamoDB Using Java
Better DynamoDB experience.
Try 7-day free trial. No credit card needed.
Product Features
DynamoDB Tools
DynamoDB Info
© 2025 Dynobase