Java 开发 2.0: 使用 Amazon SimpleDB 进行云存储,第 1 部分:开始使用 SimpleDB 和 Amazon SDK
2010-08-11 00:00:00 来源:WEB开发网清单 3. 在 SimpleDB 中创建一个项目
sdb.batchPutAttributes(new BatchPutAttributesRequest(domain, data));
SimpleDB 中的查询
在保存了一个比赛之后,我当然可以通过 SimpleDB 的查询语言(与 SQL 很像)搜索它。不过有一个缺点。还记得我说过,所有项目属性都存储为 String吗?这意味着,数据比较是 按字母顺序进行的,这在执行搜索时有影响。
如果我根据数字运行一个查询,例如,SimpleDB 会基于字符执行搜索,而非真正的整数值。现在,我有一个简单的比赛实例存储在 SimpleDB 中,我可以使用 SimpleDB 的类似于 SQL 的语句轻松对其进行搜索,如清单 4 所示:
清单 4. Searching for Race_01
String qry = "select * from `" + domain + "` where Name = 'Charlottesville Marathon'";
SelectRequest selectRequest = new SelectRequest(qry);
for (Item item : sdb.select(selectRequest).getItems()) {
System.out.println("Race Name: " + item.getName());
}
清单 4 中的查询类似于标准 SQL。在本例中,我仅查询 Name为 “Charlottesville Marathon” 的所有 Race实例。 发送一个 SelectRequest到 AmazonSimpleDBClient会产生许多 Item。因此,我能够迭代项目并打印其名称,在本例中,我应该只收到一个项目。
现在让我们看一下,当我添加另一个带不同距离属性的比赛时会发生什么,如清单 5 所示:
清单 5. 较短的比赛
List<ReplaceableItem> data2 = new ArrayList<ReplaceableItem>();
data2.add(new ReplaceableItem().withName("Race_02").withAttributes(
new ReplaceableAttribute().withName("Name").withValue("Charlottesville 1/2 Marathon"),
new ReplaceableAttribute().withName("Distance").withValue("13.1")));
sdb.batchPutAttributes(new BatchPutAttributesRequest(domain, data2));
- ››JavaScript拖拽原理的实现
- ››javascript事件列表解说
- ››Javascript代码优化工具UglifyJS
- ››使用脚本恢复WinXP系统的用户登录密码
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Java Bean属性值动态设置
- ››JavaScript Confirm 失效的解决办法
- ››使用phpMyadmin创建数据库及独立数据库帐号
- ››使用Zend Framework框架中的Zend_Mail模块发送邮件...
- ››JavaScript页面内拖拽原理分析
- ››使用cout标准输出如何控制小数点后位数
- ››使用nofollow标签做SEO的技巧
更多精彩
赞助商链接