public static void main()

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