dynamodb java_使用Java查询DynamoDB项
生活随笔
收集整理的這篇文章主要介紹了
dynamodb java_使用Java查询DynamoDB项
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
dynamodb java
在上一篇文章中,我們繼續在DynamoDB數據庫上插入數據。
在本教程中,我們將對DynamoDB表發出一些基本查詢。 主要規則是每個查詢都必須使用哈希鍵。
查詢的最簡單形式是僅使用哈希鍵。 我們將在此表上查詢Users表。 結果只有一個,因此在迭代“項目”列表上沒有用。
public Map<String,AttributeValue> getUser(String email) {Map<String,String> expressionAttributesNames = new HashMap<>();expressionAttributesNames.put("#email","email");Map<String,AttributeValue> expressionAttributeValues = new HashMap<>();expressionAttributeValues.put(":emailValue",new AttributeValue().withS(email));QueryRequest queryRequest = new QueryRequest().withTableName(TABLE_NAME).withKeyConditionExpression("#email = :emailValue").withExpressionAttributeNames(expressionAttributesNames).withExpressionAttributeValues(expressionAttributeValues);QueryResult queryResult = amazonDynamoDB.query(queryRequest);List<Map<String,AttributeValue>> attributeValues = queryResult.getItems();if(attributeValues.size()>0) {return attributeValues.get(0);} else {return null;}} 但是,我們可以使用條件發出更復雜的查詢。
登錄表非常適合作為示例。 我們將發出一個查詢,以獲取到日期之間的登錄嘗試。
請記住,DynamoDB提取頁面中的數據,因此如果有多個頁面,則必須多次發出同一請求。 因此,您必須使用上次評估的密鑰來處理下一個請求。
最后但并非最不重要的是,對索引的查詢是基本操作之一。 對于本地或全局二級索引,它是相同的例程。
請記住,獲取的結果取決于創建表后指定的投影類型。 在我們的情況下,投影類型適用于所有字段。
我們將使用“主管”表。
public Map<String ,AttributeValue> getSupervisor(String company,String factory) {List<Map<String,AttributeValue>> items = new ArrayList<>();Map<String,String> expressionAttributesNames = new HashMap<>();expressionAttributesNames.put("#company","company");expressionAttributesNames.put("#factory","factory");Map<String,AttributeValue> expressionAttributeValues = new HashMap<>();expressionAttributeValues.put(":company",new AttributeValue().withS(company));expressionAttributeValues.put(":factory",new AttributeValue().withS(factory));QueryRequest queryRequest = new QueryRequest().withTableName(TABLE_NAME).withKeyConditionExpression("#company = :company and #factory = :factory ").withIndexName("FactoryIndex").withExpressionAttributeNames(expressionAttributesNames).withExpressionAttributeValues(expressionAttributeValues);QueryResult queryResult = amazonDynamoDB.query(queryRequest);List<Map<String,AttributeValue>> attributeValues = queryResult.getItems();if(attributeValues.size()>0) {return attributeValues.get(0);} else {return null;}}您可以在github上找到帶有單元測試的完整源代碼。
翻譯自: https://www.javacodegeeks.com/2016/07/__trashed-4.html
dynamodb java
總結
以上是生活随笔為你收集整理的dynamodb java_使用Java查询DynamoDB项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简练和简炼的区别是什么 简练和简炼有什么
- 下一篇: 五公里多少步 5公里相当于多少步