美文网首页
AWS下DynamoDB之java开发

AWS下DynamoDB之java开发

作者: 草丛里的黄盖 | 来源:发表于2017-08-31 10:31 被阅读241次

    本文章仅作为个人笔记
    DynamoDB官网:https://us-west-2.console.aws.amazon.com/dynamodb/home
    DynamoDB官方文档:https://aws.amazon.com/cn/documentation/dynamodb/
    DynamoDB官方java使用文档:http://docs.aws.amazon.com/zh_cn/amazondynamodb/latest/developerguide/JavaDocumentAPICRUDExample.html
    DynamoDB官方权限设置文档:https://docs.aws.amazon.com/zh_cn/toolkit-for-eclipse/v1/user-guide/setup-credentials.html
    DynamoDB个人理解:DynamoDB为aws下一个NoSql数据库,用于处理简单key-value数据。DynamoDB也支持索引,目前一个表结构最多支持5个索引。

    记住一定要在本地生成证书确保DynamoDB权限(~/.aws/credentials)(C:\Users\USERNAME\.aws\credentials)格式如下:

    image.png

    另外在开发前,一定要在aws官网开通DynamoDB服务及创建相应的DynamoDB数据表.

    DynamoDB使用(gradle项目):
    1.在项目build.gradle文件的dependencies选项下添加(compile 'com.amazonaws:aws-java-sdk-dynamodb:1.11.172')依赖
    2.AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build();//获取DynamoDB连接(用于获取mapper及DynamoDB对象)
    3.DynamoDBMapper mapper = new DynamoDBMapper(client);//获取Mapper(mapper可以非常方便,在使用最少代码的情况下对数据进行简单的增删改查)
    4.DynamoDB dynamoDB = new DynamoDB(client);//获取DynamoDB对象(可用于获取Table对象操作单个表的复杂操作)
    5.Table table = dynamoDB.getTable(TABL_NAME);//获取Table对象(对数据表进行复杂操作)
    6.Index index= table.getIndex(INDEX_NAME);//获取索引对象(对数据进行索引查询)
    7.编写数据表对应数据类型对象(如下是一个非常简单的DynamoDB数据表对象):

    image.png
    8.mapper.save(data);//保存数据
    9.mapper.load(DATA.class, key,DynamoDBMapperConfig.ConsistentReads.CONSISTENT.config());//根据key获取数据并转换为相应数据对象
    10.QuerySpec spec = new QuerySpec().withKeyConditionExpression("index = :indexMark").withValueMap(new ValueMap().withString(":indexMark", indexMark)).withMaxResultSize(MAX_RESULT);//创建查询对象
    11.ItemCollection<QueryOutcome> items = index.query(spec);//根据index索引对象及spec查询对象获取查询结果,最后可以使用Iterator<Item> iter = items.iterator();遍历获取每个对象
    12.最后数据库数据对象除了使用@DynamoDBTable及@DynamoDBHashKey外,还有@DynamoDBAttribute使用方法与其它的差不多,区别在于这个是用来修饰普通字段的,还有@DynamoDBIndexHashKey是用来修饰索引字段的。
    13.最后附上个人aws简单demo的git地址 https://github.com/makai554892700/AWSDemo.git

    相关文章

      网友评论

          本文标题:AWS下DynamoDB之java开发

          本文链接:https://www.haomeiwen.com/subject/wicvlxtx.html