dynamodb容器使用_使用DynamoDBMapper插入DynamoDB项目

dynamodb容器使用

在上一篇文章中,我们使用DynamoDBMapper来将DynamoDB表映射到Java对象。

插入时,我们的动作几乎相同,但是方式更方便。 为了插入项目,您要做的就是使用对象映射器持久化对象

在我们的例子中,我们将创建一个执行简单插入的User存储库。

package com.gkatzioura.dynamodb.mapper.repository;import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper;
import com.gkatzioura.dynamodb.mapper.entities.User;import java.util.ArrayList;
import java.util.Date;
import java.util.List;/*** Created by gkatzioura on 9/22/16.*/
public class UserMapperRepository {private DynamoDBMapper dynamoDBMapper;public UserMapperRepository(AmazonDynamoDB amazonDynamoDB) {dynamoDBMapper = new DynamoDBMapper(amazonDynamoDB);}public void insert(User user) {dynamoDBMapper.save(user);}}

要坚持下去,我们只需要创建一个简单的对象。

@Testpublic void testInsertUser() {User user = new User();user.setRegisterDate(new Date().getTime());user.setFullName("John Doe");user.setEmail("john@doe.com");userMapperRepository.insert(user);}

同样使用DynamoDBMapper,我们可以批量插入或批量删除。 因此,我们将向存储库添加两个额外的方法。

public void insert(List<User> users) {dynamoDBMapper.batchWrite(users,new ArrayList<>());}public void delete(List<User> users) {dynamoDBMapper.batchDelete(users);}

批量添加(或删除)项目,仅需要传递包含定义键值的对象列表。

@Testpublic void testBatchUserInsert() {List<User> users = new ArrayList<>();for(int i=0;i<10;i++) {String email = emailPrefix+i+"@doe.com";User user = new User();user.setRegisterDate(new Date().getTime());user.setFullName("John Doe");user.setEmail("john@doe.com");users.add(user);}userMapperRepository.insert(users);}@Testpublic void testBatchDelete() {testBatchUserInsert();List<User> users = new ArrayList<>();for(int i=0;i<10;i++) {String email = emailPrefix+i+"@doe.com";User user = new User();user.setRegisterDate(new Date().getTime());user.setFullName("John Doe");user.setEmail("john@doe.com");users.add(user);}userMapperRepository.delete(users);}

您可以在github上找到源代码

翻译自: https://www.javacodegeeks.com/2016/09/insert-dynamodb-items-dynamodbmapper.html

dynamodb容器使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HH SaaS电商系统的品牌模块设计

品牌和商品基础类目属于多对多的关系创建品牌时必须关联商品基础类目&#xff0c;且只能关联三级类目&#xff0c;至少关联一种品牌只能由租户统一进行维护管理&#xff0c;供应商、商家、商城可以申请新品牌&#xff0c;但是由租户进行审核品牌被删除或者停用后&#xff0c;关…

mysql可以存布尔_哪个MySQL数据类型用于存储布尔值

由于MySQL似乎没有任何“布尔”数据类型&#xff0c;你滥用哪种数据类型来存储MySQL中的真/假信息&#xff1f;特别是在写入和读取PHP脚本的上下文中。随着时间的推移&#xff0c;我使用并看到了几种方法&#xff1a;tinyint&#xff0c;包含值0/1的varchar字段&#xff0c;包含…

java反射面试

1什么是反射&#xff1f; 反射是指在运行时动态地获取类的信息&#xff08;包括类的成员变量、方法、构造函数等&#xff09;&#xff0c;并且可以通过反射调用类的方法、访问和修改类的属性&#xff0c;以及创建对象实例。 Java的反射机制提供了一种强大的能力&#xff0c;使得…

chameleon 算法_为了简单起见,Arquillian Chameleon

chameleon 算法使用Arquillian时&#xff0c;您需要做的一件事情就是定义要在哪个容器下执行所有测试。 这是通过在适配器的类路径中添加依赖项并取决于所使用的模式&#xff08;嵌入式&#xff0c;托管或远程&#xff09;来下载的来完成的。 他是应用程序服务器。 例如&…

电商分销系统设计

文章目录某赞的二级分销模式一、【一件代销】模式二、【推广代收】模式某猫的二级分销模式二级分销系统设计方案代销分销系统的设计方案方案一&#xff1a;销售行为和采购行为完全独立方案二&#xff1a;销售、采购、售后之间的业务行为相互关联推广分销系统的设计方案关于结算…

mysql函数创建与使用_mysql function函数创建与应用方法

这些语句创建存储子程序。要在MySQL 5.1中创建子程序&#xff0c;必须具有CREATE ROUTINE权限&#xff0c;并且ALTER ROUTINE和EXECUTE权限被自动授予它的创建者。如果二进制日志功能被允许&#xff0c;你也可能需要SUPER权限&#xff0c;请参阅20.4节&#xff0c;“存储子程序…

HH SaaS电商系统管理后台的商品规格编辑

类目规格删除或者新增 类目原来已有的规格被删除或者新增&#xff0c;那么原先的SKU全部需要重新生成&#xff0c;所以编辑时SKU信息无需展示&#xff0c;保留的规格信息也不必显示。 提交商品数据后&#xff0c;后端根据规格值名称进行匹配&#xff0c;如果匹配成功则更新SKU…

java中精确地小数_在Java等于方法中进行精确比较

java中精确地小数多年来&#xff0c;我一直在处理旧版Java代码&#xff0c;因此遇到了微妙的逻辑和性能问题&#xff0c;这些问题可以追溯到不正确覆盖的Object.equals&#xff08;Object&#xff09;方法。 尽管“等于”方法背后的概念看似简单&#xff0c;但Josh Bloch在《 有…

mysql删除完全重复数据库_MySQL中删除完全重复数据的准确SQL语句

案例&#xff1a;id姓名课程名称分数1张三数学692李四数学893张三数学69删除除了自动编号不同,其他都相同的学生冗余信息------------------------------------------------------------------------------------------------------按常理来说&#xff0c;这个sql语句应该是&am…

电商系统的商品规格设计方案

文章目录方案一方案二SKU 的规格值如何存储方案一 先维护一堆参数和规格&#xff0c;然后创建商品类目关联需要的参数和规格&#xff0c;这样发布该类目商品时&#xff0c;就可以填写相关的参数和规格了 查看交互原型 方案二 先维护一堆参数和规格&#xff0c;再维护类目属性…

flink和kafka区别_Apache Flink和Kafka入门

flink和kafka区别介绍 Apache Flink是用于分布式流和批处理数据处理的开源平台。 Flink是具有多个API的流数据流引擎&#xff0c;用于创建面向数据流的应用程序。 Flink应用程序通常使用Apache Kafka进行数据输入和输出。 本文将指导您逐步使用Apache Flink和Kafka。 先决条件…

solr cloud 更新 solrconfig 配置_Solr各版本新特性「4.x,5.x,6.x,7.x」

一.Solr4.x新特性1.近实时搜索Solr的近实时搜索【Near Real-Time&#xff0c;NRT】功能实现了文档添加到搜索的快速进行&#xff0c;以应对搜索快速变化的数据。2.原子更新与乐观并发原子更新功能允许客户端应用对已有文档上进行添加、更新、删除和对字段增值等操作&#xff0c…

电商系统的商品流水记录

商品销售流水 销售单变成“归档”之后&#xff0c;系统生成相关商品的销售流水记录&#xff0c;这里要考虑退货扣减的问题也可以不生成相应的流水记录&#xff0c;直接从销售子单取相关数据显示即可 商品出库流水 出库单变成“已出库”后&#xff0c;系统生成相关商品的出库…

junit数据驱动测试_使用Junit和Easytest进行数据驱动的测试

junit数据驱动测试在本文中&#xff0c;我们将看到如何使用Junit进行数据驱动的测试。 为此&#xff0c;我将使用一个名为EasyTest的库。 我们知道&#xff0c;对于TestNG&#xff0c;它已内置了数据提供程序。 通过简单的测试&#xff0c;我们可以使用Junit进行数据驱动的测试…

centos rpm安装mysql5.5_CentOS下以RPM方式安装MySQL5.5

首先去mySQL官网下载页面&#xff1a;http://dev.mysql.com/downloads/mysql/#downloadsSelect Platform 选择 Oracle & Red Hat Linux 4 & 5分别下载以下三个文件(由于我的机器是32位&#xff0c;下面是32位版本的包&#xff0c;如果你的机器是64位的请下载64位版本)…

HH SaaS电商系统的出库功能模块设计

文章目录出库单业务流程基本流程扩展流程找不到符合条件的仓库&#xff0c;要求部分退款&#xff08;未生成出库单时&#xff09;找不到符合条件的仓库&#xff0c;全部退款&#xff08;未生成出库单时&#xff09;找不到符合条件的仓库&#xff0c;等待库存补足&#xff08;未…

java 拼图_拼图项目的诅咒:为什么Java 9一遍又一遍地延迟?

java 拼图JDK 9发行日期推迟到2017年7月 距JDK 9发行不到200天&#xff0c;它又被推迟了 。 新的发布日期已更新为2017年7月&#xff0c;比之前推迟的日期晚了四个月。 推迟日期 9月13日&#xff0c;Oracle Java平台小组的首席架构师Mark Reinhold发表了他的建议&#xff0c;…

mysql数据库增删改查关键字_mysql数据库的增删改查

数据库基本操作&#xff1a;增删改查#DML语言/*数据操作语言&#xff1a;插入&#xff1a;insert修改&#xff1a;update删除&#xff1a;delete*/1.增插入语句的方式一表已经存在啦&#xff0c;我们需要往里面插入数据/*语法&#xff1a;insert into 表名(列名,…) values(值1…

HH SaaS电商系统的采购功能模块设计

文章目录如何生成采购单系统生成采购单的流程基本流程扩展流程找不到符合条件的供应商&#xff0c;要求部分退款&#xff08;初次生成采购单时&#xff09;找不到符合条件的供应商&#xff0c;要求全部退款&#xff08;初次生成采购单时&#xff09;指定供应商的库存不足&#…

本地缓存防止缓存击穿_防止缓存爆炸的快速提示

本地缓存防止缓存击穿在很多情况下&#xff0c;您都可以从应用程序中的常用对象缓存中受益&#xff0c;特别是在面向Web和微服务的环境中。 您可以在Java中执行的最简单的缓存类型可能是引入一个私有HashMap&#xff0c;在计算对象之前先查询该哈希表&#xff0c;以确保您不会重…