Package io.awspring.cloud.dynamodb
Class DynamoDbTemplate
java.lang.Object
io.awspring.cloud.dynamodb.DynamoDbTemplate
- All Implemented Interfaces:
DynamoDbOperations
Default implementation of
DynamoDbOperations.- Since:
- 3.0
- Author:
- Matej Nedic, Arun Patra
-
Constructor Summary
ConstructorsConstructorDescriptionDynamoDbTemplate(String tablePrefix, software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient dynamoDbEnhancedClient) DynamoDbTemplate(software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient dynamoDbEnhancedClient) DynamoDbTemplate(software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient dynamoDbEnhancedClient, DynamoDbTableSchemaResolver dynamoDbTableSchemaResolver, DynamoDbTableNameResolver dynamoDbTableNameResolver) -
Method Summary
Modifier and TypeMethodDescriptionvoidDeletes a record for a given Key.<T> voiddelete(T entity) Deletes a record for a given Entity.<T> TLoads entity for a given Key.<T> software.amazon.awssdk.enhanced.dynamodb.model.PageIterable<T>query(software.amazon.awssdk.enhanced.dynamodb.model.QueryEnhancedRequest queryEnhancedRequest, Class<T> clazz) Queries a data for a given request.<T> software.amazon.awssdk.enhanced.dynamodb.model.PageIterable<T>query(software.amazon.awssdk.enhanced.dynamodb.model.QueryEnhancedRequest queryEnhancedRequest, Class<T> clazz, String indexName) Queries a GlobalSecondaryIndex for a given request and given indexName.<T> Tsave(T entity) Saves Entity to DynamoDB table.<T> software.amazon.awssdk.enhanced.dynamodb.model.PageIterable<T>scan(software.amazon.awssdk.enhanced.dynamodb.model.ScanEnhancedRequest scanEnhancedRequest, Class<T> clazz) Scans Table using given request.<T> software.amazon.awssdk.enhanced.dynamodb.model.PageIterable<T>scan(software.amazon.awssdk.enhanced.dynamodb.model.ScanEnhancedRequest scanEnhancedRequest, Class<T> clazz, String indexName) Scans GlobalSecondaryIndex using given indexName and request.<T> software.amazon.awssdk.enhanced.dynamodb.model.PageIterable<T>Scans whole DynamoDB table.<T> software.amazon.awssdk.enhanced.dynamodb.model.PageIterable<T>Scans whole GlobalSecondaryIndex for given indexName.<T> Tupdate(T entity) Updated Entity to DynamoDB table.
-
Constructor Details
-
DynamoDbTemplate
-
DynamoDbTemplate
public DynamoDbTemplate(software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient dynamoDbEnhancedClient) -
DynamoDbTemplate
public DynamoDbTemplate(software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient dynamoDbEnhancedClient, DynamoDbTableSchemaResolver dynamoDbTableSchemaResolver, DynamoDbTableNameResolver dynamoDbTableNameResolver)
-
-
Method Details
-
save
public <T> T save(T entity) Description copied from interface:DynamoDbOperationsSaves Entity to DynamoDB table.- Specified by:
savein interfaceDynamoDbOperations- Type Parameters:
T- Type of Entity object.- Parameters:
entity- - Entity to be saved.
-
update
public <T> T update(T entity) Description copied from interface:DynamoDbOperationsUpdated Entity to DynamoDB table.- Specified by:
updatein interfaceDynamoDbOperations- Type Parameters:
T- Type of Entity object.- Parameters:
entity- - Entity to be saved.
-
delete
Description copied from interface:DynamoDbOperationsDeletes a record for a given Key.- Specified by:
deletein interfaceDynamoDbOperations- Parameters:
key- to determine record in DynamoDB table.clazz- Class of entity being deleted soTableSchemacan be generated.
-
delete
public <T> void delete(T entity) Description copied from interface:DynamoDbOperationsDeletes a record for a given Entity.- Specified by:
deletein interfaceDynamoDbOperations- Parameters:
entity- Entity object for deletion.
-
load
Description copied from interface:DynamoDbOperationsLoads entity for a given Key.- Specified by:
loadin interfaceDynamoDbOperations- Type Parameters:
T- Type of Entity object.- Parameters:
key- to determine record in DynamoDB table.clazz- Class of entity being fetched soTableSchemacan be generated.
-
scan
public <T> software.amazon.awssdk.enhanced.dynamodb.model.PageIterable<T> scan(software.amazon.awssdk.enhanced.dynamodb.model.ScanEnhancedRequest scanEnhancedRequest, Class<T> clazz) Description copied from interface:DynamoDbOperationsScans Table using given request.- Specified by:
scanin interfaceDynamoDbOperations- Type Parameters:
T- type of Entity object.- Parameters:
scanEnhancedRequest- request used byDynamoDbEnhancedClientto execute scan request.clazz- of entity being fetched soTableSchemacan be generated.- Returns:
- Iterable object which can be used to iterate pages and items.
-
scan
public <T> software.amazon.awssdk.enhanced.dynamodb.model.PageIterable<T> scan(software.amazon.awssdk.enhanced.dynamodb.model.ScanEnhancedRequest scanEnhancedRequest, Class<T> clazz, String indexName) Description copied from interface:DynamoDbOperationsScans GlobalSecondaryIndex using given indexName and request.- Specified by:
scanin interfaceDynamoDbOperations- Type Parameters:
T- type of Entity object.- Parameters:
scanEnhancedRequest- request used byDynamoDbEnhancedClientto execute scan request.clazz- of entity being fetched soTableSchemacan be generated.indexName- name of index that will be used with ScanEnhancedRequest.- Returns:
- Iterable object which can be used to iterate pages and items.
-
scanAll
public <T> software.amazon.awssdk.enhanced.dynamodb.model.PageIterable<T> scanAll(Class<T> clazz, String indexName) Description copied from interface:DynamoDbOperationsScans whole GlobalSecondaryIndex for given indexName.- Specified by:
scanAllin interfaceDynamoDbOperations- Type Parameters:
T- type of Entity object.- Parameters:
clazz- of entity being fetched soTableSchemacan be generated.indexName- name of index that will be used when scanning.- Returns:
- Iterable object which can be used to iterate pages and items.
-
query
public <T> software.amazon.awssdk.enhanced.dynamodb.model.PageIterable<T> query(software.amazon.awssdk.enhanced.dynamodb.model.QueryEnhancedRequest queryEnhancedRequest, Class<T> clazz, String indexName) Description copied from interface:DynamoDbOperationsQueries a GlobalSecondaryIndex for a given request and given indexName.- Specified by:
queryin interfaceDynamoDbOperations- Type Parameters:
T- type of Entity object.- Parameters:
queryEnhancedRequest- Request that is used byDynamoDbEnhancedClientto execute query request.clazz- of entity being fetched soTableSchemacan be generated.indexName- name of index that will be used with QueryEnhancedRequest.- Returns:
- Iterable object which can be used to iterate pages and items.
-
scanAll
Description copied from interface:DynamoDbOperationsScans whole DynamoDB table.- Specified by:
scanAllin interfaceDynamoDbOperations- Type Parameters:
T- type of Entity object.- Parameters:
clazz- of entity being fetched soTableSchemacan be generated.- Returns:
- Iterable object which can be used to iterate pages and items.
-
query
public <T> software.amazon.awssdk.enhanced.dynamodb.model.PageIterable<T> query(software.amazon.awssdk.enhanced.dynamodb.model.QueryEnhancedRequest queryEnhancedRequest, Class<T> clazz) Description copied from interface:DynamoDbOperationsQueries a data for a given request.- Specified by:
queryin interfaceDynamoDbOperations- Type Parameters:
T- Type of Entity object.- Parameters:
queryEnhancedRequest- Request that is used byDynamoDbEnhancedClientto execute query request.clazz- of entity being fetched soTableSchemacan be generated.- Returns:
- Iterable object which can be used to iterate pages and items.
-