dynamodb容器使用_使用DynamoDB映射器将DynamoDB项目映射到对象
dynamodb容器使用
以前,我們使用Java創建了DynamoDB表。
對于各種數據庫,例如sql數據庫或nosql,有一組工具可幫助訪問,持久化和管理對象/類與基礎數據庫之間的數據。 例如,對于SQL數據庫,我們使用JPA,對于Cassandra,我們使用MappingManager。
DynamoDBMapper是一個工具,使您可以訪問各種表中的數據,對項目執行各種CRUD操作以及對表執行查詢和掃描。
我們將嘗試映射上一個示例中的“用戶”,“登錄名”,“主管”和“公司”表。
Users是一個簡單的表,使用用戶的電子郵件作為哈希鍵。
但是,在各種情況下,我們的DynamoDB表都使用哈希和范圍鍵。 登錄表可跟蹤用戶的登錄嘗試。 電子郵件是哈希鍵,時間戳是范圍鍵。
package com.gkatzioura.dynamodb.mapper.entities;import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBHashKey; import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBRangeKey; import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTable;/*** Created by gkatzioura on 9/20/16.*/ @DynamoDBTable(tableName="Logins") public class Login {private String email;private Long timestamp;@DynamoDBHashKey(attributeName="email")public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@DynamoDBRangeKey(attributeName="timestamp")public Long getTimestamp() {return timestamp;}public void setTimestamp(Long timestamp) {this.timestamp = timestamp;} } 另一種流行的情況是帶有全局二級索引(GSI)的表。 例如,“主管”表用于按主管的姓名檢索主管。 但是,我們也使用此表來檢索特定公司的所有主管或在公司特定工廠工作的主管。
主管名稱是我們的哈希鍵,公司名稱是哈希鍵,工廠名稱是全局二級索引的范圍鍵。
最后但并非最不重要的一點是,我們可以使用本地二級索引。 公司表使用公司名稱作為哈希鍵,使用子公司名稱作為范圍鍵。 由于我們要基于公司的CEO發出查詢,因此將本地二級索引與基于CEO姓名的范圍鍵一起使用。
package com.gkatzioura.dynamodb.mapper.entities;import com.amazonaws.services.dynamodbv2.datamodeling.*;/*** Created by gkatzioura on 9/21/16.*/ @DynamoDBTable(tableName="Companies") public class Company {private String name;private String subsidiary;private String ceo;@DynamoDBHashKey(attributeName="name")public String getName() {return name;}public void setName(String name) {this.name = name;}@DynamoDBRangeKey(attributeName = "subsidiary")public String getSubsidiary() {return subsidiary;}public void setSubsidiary(String subsidiary) {this.subsidiary = subsidiary;}@DynamoDBIndexRangeKey(localSecondaryIndexName = "CeoIndex",attributeName = "ceo")public String getCeo() {return ceo;}public void setCeo(String ceo) {this.ceo = ceo;} }您可以在github上找到源代碼。
翻譯自: https://www.javacodegeeks.com/2016/09/map-dynamodb-items-objects-using-dynamodb-mapper.html
dynamodb容器使用
總結
以上是生活随笔為你收集整理的dynamodb容器使用_使用DynamoDB映射器将DynamoDB项目映射到对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 赵州桥为什么世界闻名(被称为天下第一的赵
- 下一篇: 战地5用什么电脑系统(战地5用什么电脑系