in DynamoDB-SDK-Examples/java/WorkingWithItems/BatchWriteItem.java [21:90]
public static void main(String[] args){
try{
// Create Client
DynamoDbEnhancedClient enhancedClient = DynamoDbEnhancedClient.create();
// Map Table Using Bean
DynamoDbTable<Customer> table = enhancedClient.table("RetailDatabase", TableSchema.fromBean(Customer.class));
// Create Address1
HashMap<String,String> address1 = new HashMap<>();
address1.put("road", "89105 Bakken Rd");
address1.put("city", "Greenbank");
address1.put("state", "WA");
address1.put("pcode", "98253");
address1.put("country","USA");
// Create Customer 1
Customer cust1 =new Customer.Builder("vikram.johnson@somewhere.com")
.withSk("metadata")
.withUsername("vikj")
.withFirstName("Vikram")
.withLastName("Johnson")
.withName("Vikram Johnson")
.withAge(31)
.withAddress(address1)
.build();
// Create Address2
HashMap<String,String> address2 = new HashMap<>();
address2.put("road", "12341 Fish Rd");
address2.put("city", "Freeland");
address2.put("state", "WA");
address2.put("pcode", "98249");
address2.put("country","USA");
// Create Customer 2
Customer cust2 =new Customer.Builder("jose.schneller@somewhere.com")
.withSk("metadata")
.withUsername("joses")
.withFirstName("Jose")
.withLastName("Schneller")
.withName("Jose Schneller")
.withAge(27)
.withAddress(address1)
.build();
// Create a BatchWriteItemEnhancedRequest object
BatchWriteItemEnhancedRequest batchWriteItemEnhancedRequest =
BatchWriteItemEnhancedRequest.builder()
.writeBatches(
WriteBatch.builder(Customer.class)
.mappedTableResource(table)
.addPutItem(r -> r.item(cust1))
.addPutItem(r -> r.item(cust2))
.build())
.build();
/*
BatchWrite Items
This uses the Enhanced Client and not the Mapped Table Resource
*/
enhancedClient.batchWriteItem(batchWriteItemEnhancedRequest);
}catch (Exception e){
handleCommonErrors(e);
}
}