首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

软件资讯设计 工具 系统 开发 安全 办公 陶吧 IT教育 Vista频道 | 下载中心酷我音乐盒 腾讯QQ
天极网 > 开发频道>Quaere:Java上的LINQ

Quaere:Java上的LINQ

2008-05-15 09:00作者:infoQ 高昂出处:天极网责任编辑:dizzarz

      在07年的JavaZone大会上,Anders Noras介绍Quaere库,他这个库比喻成Java上的LINQ。Quaere是一门DSL,任何实现了Iterable或其Queryable接口的结构,Quaere都能提供查询功能。

      Noras列出的Quaere特性如下:

  • 可对数组或实现Iterable接口的数据结构执行查询。
  • 内部DSL(以静态引用和连贯接口[Fluent Interface]为基础)将查询语句整合在常规Java代码中。DSL不需要任何预处理或代码生成步骤。仅需要引用quaere.jar文件及其依赖项。
  • 大量的查询操作,包括restriction、selection、projection、set、partitioning、grouping、ordering、 quantification、aggregation以及conversion等操作。
  • 支持lambda表达式。
  • 支持动态定义和实例化匿名类。
  • 给Java 1.5及其后续版本增加了很多新“关键字”。

      下例从一个从产品列表中得到产品名称的列表:


List products = Arrays.asList(Product.getAllProducts()); Iterable productNames =  from("p").in(products).  select("p.getProductName()"); 
      Quaere目前只完成了一个针对对象的具体实现,还有一个针对Hibernate的实现正在进行中。Hibernate的实现(以及其他具有良好的查询API的框架)应该进展得很快,Anders说,因为完成Hibernate的示例程序才花了几个小时。

     一部分人认为joSQL也是与Quaere类似的API。Anders认同两者存在相似之处,但是也指出一些显著的差异:

  • Quaere对于“业务问题”的处理具有更好的内聚力
  • Quaere查询更加紧凑并且具有类型安全的特性
  • Quaere是一种可扩充语言,可以无缝地添加新的查询引擎

     在讲座的最后,Noras回答了关于Quaere的一些常见疑问。他已经在Codehaus上为Quaere建立了一个项目

查看英文原文:Quaere: LINQ Arrives for Java
共1页。 1
进入 最权威的Windows 7论坛 查看网友讨论

软件频道最新更新

热点推荐

IT嘉年华

编辑推荐

软件下载

热门
推荐

网友关注

软件
资料
游戏

装机推荐

文章排行

本周
本月
最新更新
天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络