此文章代码均在github repository中:yjf27281181/dynamodb-demogithub.com
本文前置知识:颜小四:通俗易懂之DynamoDB(一) ----分区键、排序键、GSIzhuanlan.zhihu.com颜小四:通俗易懂之DynamoDB(二) ----如何只用一张表来存储项目的所有数据zhuanlan.zhihu.com
正文
对于DynamoDB的操作,官方提供了两种API来操作数据库,一种是纯java apihttps://docs.aws.amazon.com/zh_cn/amazondynamodb/latest/developerguide/GettingStarted.Java.01.htmldocs.aws.amazon.com
一种是使用Spring注解:https://docs.aws.amazon.com/zh_cn/amazondynamodb/latest/developerguide/DynamoDBMapper.htmldocs.aws.amazon.com
由于通常情况下项目都为spring项目,所以我们采用第二种方式来实现对dynamoDB进行操作。
虽然官方已经提供了大量api,但是手动调用时还是非常麻烦,所以我建议使用第三方库spring-data-dynamodb,该库对很多api进行了封装,方便许多:spring-data-dynamodbgithub.com
第一步:引入第三方包:
在maven中引入上述第三方库:
com.github.derjust
spring-data-dynamodb
5.0.4
注意,该版本与springboot 2.1x版本不兼容,需要使用springboot 2.0.9-release版
引入之后开始编写实体类,我们以user 类为例,首先我们来编写Id类:
UserId.java:
@ToString
public class UserId implements Serializable {
private static final long serialVersionUID = 1L;
private String username;
private String sk;
@DynamoDBHashKey
public String getUse