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 TypeMethodDescriptionvoid
Deletes a record for a given Key.<T> void
delete
(T entity) Deletes a record for a given Entity.<T> T
Loads 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> T
save
(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> T
update
(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:DynamoDbOperations
Saves Entity to DynamoDB table.- Specified by:
save
in 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:DynamoDbOperations
Updated Entity to DynamoDB table.- Specified by:
update
in interfaceDynamoDbOperations
- Type Parameters:
T
- Type of Entity object.- Parameters:
entity
- - Entity to be saved.
-
delete
Description copied from interface:DynamoDbOperations
Deletes a record for a given Key.- Specified by:
delete
in interfaceDynamoDbOperations
- Parameters:
key
- to determine record in DynamoDB table.clazz
- Class of entity being deleted soTableSchema
can be generated.
-
delete
public <T> void delete(T entity) Description copied from interface:DynamoDbOperations
Deletes a record for a given Entity.- Specified by:
delete
in interfaceDynamoDbOperations
- Parameters:
entity
- Entity object for deletion.
-
load
Description copied from interface:DynamoDbOperations
Loads entity for a given Key.- Specified by:
load
in interfaceDynamoDbOperations
- Type Parameters:
T
- Type of Entity object.- Parameters:
key
- to determine record in DynamoDB table.clazz
- Class of entity being fetched soTableSchema
can 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:DynamoDbOperations
Scans Table using given request.- Specified by:
scan
in interfaceDynamoDbOperations
- Type Parameters:
T
- type of Entity object.- Parameters:
scanEnhancedRequest
- request used byDynamoDbEnhancedClient
to execute scan request.clazz
- of entity being fetched soTableSchema
can 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:DynamoDbOperations
Scans GlobalSecondaryIndex using given indexName and request.- Specified by:
scan
in interfaceDynamoDbOperations
- Type Parameters:
T
- type of Entity object.- Parameters:
scanEnhancedRequest
- request used byDynamoDbEnhancedClient
to execute scan request.clazz
- of entity being fetched soTableSchema
can 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:DynamoDbOperations
Scans whole GlobalSecondaryIndex for given indexName.- Specified by:
scanAll
in interfaceDynamoDbOperations
- Type Parameters:
T
- type of Entity object.- Parameters:
clazz
- of entity being fetched soTableSchema
can 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:DynamoDbOperations
Queries a GlobalSecondaryIndex for a given request and given indexName.- Specified by:
query
in interfaceDynamoDbOperations
- Type Parameters:
T
- type of Entity object.- Parameters:
queryEnhancedRequest
- Request that is used byDynamoDbEnhancedClient
to execute query request.clazz
- of entity being fetched soTableSchema
can 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:DynamoDbOperations
Scans whole DynamoDB table.- Specified by:
scanAll
in interfaceDynamoDbOperations
- Type Parameters:
T
- type of Entity object.- Parameters:
clazz
- of entity being fetched soTableSchema
can 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:DynamoDbOperations
Queries a data for a given request.- Specified by:
query
in interfaceDynamoDbOperations
- Type Parameters:
T
- Type of Entity object.- Parameters:
queryEnhancedRequest
- Request that is used byDynamoDbEnhancedClient
to execute query request.clazz
- of entity being fetched soTableSchema
can be generated.- Returns:
- Iterable object which can be used to iterate pages and items.
-