你好,我是Weiki,欢迎来到猿java。

最近在折腾AWS(亚马逊)的一些产品,开发中用到了DynamoDB这款NoSql数据库,需求是需要对user表做user_id in查询,中间查阅了dynamoDB的很多API doc,最后终于写出了一个可以使用的test demo,代码如下:

import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper;public class TestClass {@AutowiredDynamoDBMapper dynamoDBMapper;@Testpublic void scanWithInSelectTest() {initData();List<String> userList = new ArrayList<>();userList.add("iamtest");userList.add("iamtest2");DynamoDBScanExpression queryExpression = new DynamoDBScanExpression();queryExpression.setConsistentRead(false);String condFilter = "";HashMap<String, AttributeValue> attrs = new HashMap<>();// 拼装in 的sql语句 if (!userList.isEmpty()) {condFilter += " #UserId in (" +IntStream.range(0, userList.size()).mapToObj(i -> ":userId" + i).collect(Collectors.joining(","))+ ")";for (int i = 0; i < userList.size(); i++) {attrs.put(":userId" + i, new AttributeValue().withS(userList.get(i)));}queryExpression.setExpressionAttributeNames(Map.of("#UserId", "UserId"));}queryExpression.setFilterExpression(condFilter);queryExpression.withExpressionAttributeValues(attrs);PaginatedScanList<UserModel> jobs = dynamoDBMapper.scan(UserModel.class, queryExpression);assertTrue(!jobs.isEmpty());}
}

我使用的是gradle编译的,aws-java-sdk依赖如下,使用maven可以查看下对应的依赖,最后大家有相关的绣球可以根据实际开发修改对应的代码。

dependencies {implementation platform("com.amazonaws:aws-java-sdk-bom:$aws_sdk_ver")}

本文为原创文章,转载请标明出处。

本文链接:http://yuanjava.cn/common/2022/04/18/dynamodbin.html

本文出自猿 java的博客

DynamoDB 如何做in查询相关推荐

  1. mysql hash索引 btree索引_HASH索引做等值查询会很快,BTree索引做范围查询比较快...

    Oracle: 数据文件包括:控制文件.数据文件.重做日志文件.参数文件.归档文件.密码文件.这是根据文件功能行进行划分,并且所有文件都是二进制编码后的文件,对数据库算法效率有极大的提高.由于Orac ...

  2. 数据挖掘实验二结果(构建cube的三个维度,即三个txt,然后做各种查询)C++实现(代码调试环境为Windows下的CLion使用WSL的Linux)

    数据挖掘实验二结果(构建cube的三个维度,即三个txt,然后做各种查询)C++实现(代码调试环境为Windows下的CLion使用WSL的Linux) 构建cube的三个维度,查询三家店七天四物的销 ...

  3. php实现选择不同字段查询,laravel 实现根据字段不同值做不同查询

    在开发过程中我们经常遇到这种情况: 例如,一个信息表message,字段type 1.操作提醒 2.平台通知,表message_read记录当信息是平台通知时用户浏览状况 那么 当信息是平台通知时是针 ...

  4. 做成绩查询系统,教你去除excel表格粘贴函数。

    在工作学习中,我们经常会遇到做成绩查询系统表格函数去不掉?1招教你去除excel表格粘贴函数!这样的问题.爱默生说过:凡事欲其成功,必要付出代价:奋斗.因此,面对做成绩查询系统表格函数去不掉?1招教你 ...

  5. Java后台管理应用:如何在树结构上做模糊查询?

    开发企业后台管理应用时,经常会遇到一种场景:在树结构上做模糊查询. 比如:公司组织架构树.分类树等,通常是在页面上的文本框中输入一个关键字,例如"数据",然后在公司组织架构树中过滤 ...

  6. 安卓 spinner下拉框 做模糊查询_如何用一张图来做全年/去年的部门离职率动态对比...

    我们在做部门的离职率的数据分析的时候,我们希望能对比每个部门每个月的离职率,同时也希望可以对比去年同期的离职数据,同时我们还希望去年的数据对比可以进行选择,可以根据需要来呈现数据. 要实现以上的这个数 ...

  7. 安卓 spinner下拉框 做模糊查询_想做短视频不知道用什么工具?11个免费制作工具收藏起来...

    对于新兴短视频行业,今年又是一个快速发展的契机.短视频电商成为很多线下企业的风口. 根据福布斯指出,短视频将会成为2020年最受欢迎的数字营销方式之一,一段20~60秒的短视频可以快速将信息传递给你的 ...

  8. 怎么做mysql查询系统_mysql数据库系统学习(一)---一条SQL查询语句是如何执行的?...

    一.第一节:一条sql查询语句是怎样执行的 5.5.5版本以后,默认使用存储引擎为InnoDB 不使用查询缓存,MySQL8.0没有查询缓存这个功能 总体来说:MySQL分为service层和存储引擎 ...

  9. dynamodb java_使用Java查询DynamoDB项

    dynamodb java 在上一篇文章中,我们继续在DynamoDB数据库上插入数据. 在本教程中,我们将对DynamoDB表发出一些基本查询. 主要规则是每个查询都必须使用哈希键. 查询的最简单形 ...

  10. 安卓 spinner下拉框 做模糊查询_用图表控件做一个简单的员工信息查询系统

    前几天在上课的时候有同学说在做人员的信息查询的时候,经常的要去做查找搜索很麻烦,能不能做一个简单的人员信息查询系统,只需要选择人员的编号就可以查询到这个员工的信息.其实要实现这个同学的需求在EXCEL ...

最新文章

  1. phplivechat安卓app下载_PHP在线网页客服系统PHP Live Chat中文版下载
  2. ReportViewer教程(9)-给报表增加页打印日期编号
  3. input的一些使用方法
  4. [转载]Qt之中文显示(QMessageBox、QLineEdit右键菜单等)
  5. Jump Desktop for Mac(远程桌面控制工具)怎么链接windows电脑
  6. debian编译openjdk8
  7. 嵌入式软件开发需要学习的知识点
  8. STM32笔记20--电容触摸实验/IIC协议
  9. 神奇。cv2.calcHist()函数返回值,灰度值为255的像素个数看似为0。
  10. 5G无线关键技术 — 非正交多址接入技术
  11. Java语言springboot开发框架实现个性化美食推荐网 在线美食推荐系统 基于用户、物品的协同过滤推荐算法实现
  12. 论文阅读 Local Differential Privacy-Based Federated Learning for Internet of Things
  13. 钱诚11.3黄金投资分析、原油实时涨跌布局、白银最新指导
  14. (转载)直流稳压电源电路-----阿超
  15. Qui-MinPure主题V1.0版发布——免费WP纯文章主题
  16. Win10设置环境变量的5种方式,在哪打开? 如何打开?
  17. Java线上应用故障排查之二:高内存占用
  18. 广而告之退市所带来的启示
  19. SAP F-02-常用业务整理及SAP创建凭证的5种方法(下)
  20. qt 单例模式实际应用 单例模式自定义对话框类

热门文章

  1. crispr基因编辑技术的应用进展
  2. 关于学习的认知方法 | 九七的奇思妙想
  3. matlab 差分 平稳时间序列,利用时间序列模型预测贵阳市烟草生长期内的降水量...
  4. 计算机风扇不工作原理,电脑CPU风扇的工作原理
  5. win10系统电脑提示此程序被组策略阻止的解决办法
  6. Excel---饼图美化与ppt图表
  7. MacOS Mojava密码最小4位,这很讨厌!
  8. Golang使用 阿里云OSS存储
  9. 新睿云 亚马逊_一窥新发现的亚马逊欺诈检测器
  10. 谷歌gmail注册入口_Gmail样式的侧面板即将用于Google文档和Google日历