WEB开发网
开发学院软件开发Java Java 开发 2.0: 使用 Amazon SimpleDB 进行云存储... 阅读

Java 开发 2.0: 使用 Amazon SimpleDB 进行云存储,第 1 部分:开始使用 SimpleDB 和 Amazon SDK

 2010-08-11 00:00:00 来源:WEB开发网   
核心提示: 由于两个比赛距离不同,所以基于距离执行搜索很合理,Java 开发 2.0: 使用 Amazon SimpleDB 进行云存储,第 1 部分:开始使用 SimpleDB 和 Amazon SDK(6),如清单 6 所示:清单 6. 根据距离进行搜索StringdisQry="select

由于两个比赛距离不同,所以基于距离执行搜索很合理,如清单 6 所示:

清单 6. 根据距离进行搜索

 String disQry = "select * from `" + domain + "` where Distance > '13.1'"; 
 SelectRequest selectRequest = new SelectRequest(disQry); 
 for (Item item : sdb.select(selectRequest).getItems()) { 
 System.out.println("Race Name: " + item.getName()); 
 } 

毫无疑问,返回的比赛是 Race_01,从数学 和字母角度来说都是正确的,26.2 大于 13.1。但当我添加一个 真的很长的比赛时,看看会发生什么。

清单 7. Leesburg Ultra Marathon

 List<ReplaceableItem> data3 = new ArrayList<ReplaceableItem>(); 
 
 data3.add(new ReplaceableItem().withName("Race_03").withAttributes( 
  new ReplaceableAttribute().withName("Name").withValue("Leesburg Ultra Marathon"), 
  new ReplaceableAttribute().withName("Distance").withValue("103.1"))); 
 
 sdb.batchPutAttributes(new BatchPutAttributesRequest(domain, data3));  

在清单 7 中,我添加了一个距离为 103.1 的比赛。当我从清单 6 返回查询时,猜猜是什么?对了,就是 103.1,按字母顺序来讲,它小于 13.1。这就是您看不到所列的 Leesburg Ultra Marathon 的原因(如果您在家跟着操作)!

现在看一下,当我运行一个不同的查询来查找较短的比赛时,会发生什么,如清单 8 所示:

清单 8. 看一下会出现什么!

 String disQry = "select * from `" + domain + "` where Distance < '13.1'"; 
 SelectRequest selectRequest = new SelectRequest(disQry); 
 for (Item item : sdb.select(selectRequest).getItems()) { 
 System.out.println("Race Name: " + item.getName()); 
 } 

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Java 开发 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接