atitit.  groupby linq的实现(1)-----linq框架选型 java .net php

实现方式有如下

1. Dsl/ Java8 Streams AP ,对象化的查询api ,推荐 1

2. Linq::: like  sql 的dsl 1

1.1. linq4j (jdk6 ok,jdk7 编译错误,又马jar下载) 1

1.2. Quaere:Java上的LINQ(新不上sourcecode) 1

1.3. joSQL也是与Quaere类似的API 2

1.4. 。net linq 2

3. Sql 解析 2

4. Lambda 2

5. 嘎自实现 3

1.5. linq4j  code 3

6. apache collections4 (不行,马行上groupby) 3

7. 林吧:::自己DSL来自stream api jdk8 相像 3

8. Stream api n linq的不同 3

9. 参考 3

做报表统计啊,有个大问题。。有人整过集合的groupby查询汇总(Sum)没有哟??已经使用了linq4j,quaere,josql,,ms 对Map字典不起作用。。

1. Dsl/ Java8 Streams AP ,对象化的查询api ,推荐

persons1.GroupBy(a => a.Name).Select(g => (new { name = g.Key, count

优点是。。类型安全的查询,并且能使用智能提示功能!

2. Linq::: like  sql 的dsl

1.1. linq4j (jdk6 ok,jdk7 编译错误,又马jar下载)

linq4j  d fun0 ,fun1 ,fun2 也不是好的dsl..

作者::老哇的爪子Attilax艾龙,EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

1.2. Quaere:Java上的LINQ(新不上sourcecode)

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

List products = Arrays.asList(Product.getAllProducts());
Iterable productNames =
  from("p").in(products).
  select("p.getProductName()");

1.3. joSQL也是与Quaere类似的API

这个到是有jar下载了...好像不支持list(map),only   list(bean)

Caused by: java.lang.IllegalArgumentException: Cannot find method with name: url in class: java.util.Map

1.4. 。net linq

语句描述:Linq使用Group By和Count得到每个CategoryID中产品的数量。

说明:先按CategoryID归类,取出CategoryID值和各个分类产品的数量。

1.计数

1 var q =

2 from p in db.Products

3 group p by p.CategoryID into g

4 select new {

5 g.Key,

6 NumProducts = g.Count()

7 };

3. Sql 解析

缺点是不能使用使用ide智能提示

4. Lambda

5. 嘎自实现

1.5. linq4j  code

Linq4j.asEnumerable(emps)

.groupBy(

EMP_DEPTNO_SELECTOR, new Function0<String>() {

public String apply() {

return null;

}

}, new Function2<String, Employee, String>() {

public String apply(String v1, Employee e0) {

return v1 == null ? e0.name : (v1 + "+" + e0.name);

}

}, new Function2<Integer, String, String>() {

public String apply(Integer v1, String v2) {

return v1 + ": " + v2;

}

})

.orderBy(Functions.<String>identitySelector())

.toList()

.toString();

6. apache collections4 (不行,马行上groupby)

7. 林吧:::自己DSL来自stream api jdk8 相像

8. Stream api n linq的不同

Stream  是基于lambda的dsl  , 语法不跟个sql雅十...这个更灵活...

Linq,雅十dsl,走十语法跟个sql雅十..linq更容易的...

9. 参考

如何将常见的LINQ表达式转换为Java 8 Streams API表达式.

Linq使用Group By经验总结 - 51CTO.COM.htm

Java8如何进行stream,reduce,collection操作 - 51CTO.COM.htm

atitit. groupby linq的实现(1)-----linq框架选型 java .net php相关推荐

  1. Atitit.数据操作dsl 的设计 ---linq 方案

    Atitit.数据操作dsl 的设计 ---linq 方案 1.1. sql与api方式1 1.2. Linq方案与stream方案的选择,1 1.3. 前缀表达式 vs 中缀表达式1 1.4. 要不 ...

  2. LINQ教程二:LINQ操作语法

    LINQ查询时有两种语法可供选择:查询表达式语法(Query Expression)和方法语法(Fluent Syntax). 一.查询表达式语法 查询表达式语法是一种更接近SQL语法的查询方式. L ...

  3. linq to object 、linq to sql 、linq to entity 批量 新增、更新、删除功能扩展

    最近在codeplex上找到了一个功能比较全的linq to object .linq to sql .linq to entity新增.修改.删除功能扩展的控件--magiq. 以linq to s ...

  4. LINQ – 使用DataLoadOptions 提高LINQ to SQL 查询性能

    LINQ – 使用DataLoadOptions 提高LINQ to SQL 查询性能 EntLib.com开源小组发表,http://www.EntLib.com,2008-7-2 LINQ to ...

  5. linq 连接mysql_使用LINQ访问数据库

    1. LINQ to SQL 概览 • 把.NET 类和 SQL 数据通过关系进行映射 • 把 LINQ 查询转化为 SQL 语言进行执行 • 支持对插入,更新,删除操作进行跟踪. 支持实体级别的验证 ...

  6. Atitit.upnp SSDP 查找nas的原理与实现java php c#.net c++

    Atitit.upnp SSDP 查找nas的原理与实现java php c#.net c++ 1. 查找nas的原理1 2. 与dlna的关系1 3. 与ssdp的关系1 4. Cling - Ja ...

  7. atitit. 文件上传带进度条 atiUP 设计 java c# php

    atitit. 文件上传带进度条atiUP设计java c# php 1. 设计要求 1 2. 原理and架构 1 3. ui 2 4. spring mvc 2 5. springMVC.xml 3 ...

  8. Atitit.js跨域解决方案attilax大总结 后台java php c#.net的CORS支持

    Atitit.js跨域解决方案attilax大总结 后台java php c#.net的CORS支持 1.设置 document.domain为一致  推荐1 2.Apache 反向代理 推荐1 3. ...

  9. java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类...

    本文关键词: java集合框架  框架设计理念  容器 继承层级结构 继承图 集合框架中的抽象类  主要的实现类 实现类特性   集合框架分类 集合框架并发包 并发实现类 什么是容器? 由一个或多个确 ...

最新文章

  1. 如何在windows 10 x64安装佳能 CP900 驱动
  2. 192.168.8.1手机登陆_荣耀Magic UI 3.1即将升级!这10款荣耀手机4月可期
  3. python实战——发邮件
  4. Java-虚拟机-启动参数及调优
  5. HighTec、S32 Design Studio等编译器如何修改字体大小
  6. 【业余无线电】-海兴通SZ-666D信道编程
  7. 基于RTK9310的VLAN驱动开发总结
  8. android nmea 工具,android – 如何从nmea句子信息计算以米为单位的gps准确度
  9. 微信小程序和uni-app面试高频知识点
  10. sql语句-如何以一个表中的数据为条件据查询另一个表中的数据
  11. python如何绘制条形图_python Matplotlib 系列教程(三)——绘制直方图和条形图
  12. 文件压缩支付加密方式
  13. 带分数(全排列详解)
  14. 获取打印机当前的状态
  15. 传导骚扰的一些其他总结
  16. 在Visual Studio 2010/2012/2013/2015上使用C#开发Android/IOS安装包和操作步骤
  17. HP磁带库LTO-4硬件加密测试
  18. 必学PHP类库/常用PHP类库大全,php 类库分类-收集
  19. 我的 计算机朋友作文,我的电脑朋友作文
  20. 作业:会员制营销与EMAIL营销

热门文章

  1. matlab练习程序(图像旋转,最邻近插值)
  2. Linux性能相关工具
  3. 重写系统自带tabbar出现的 代理错误
  4. 解决:MIUI 8应用商店下载不了软件 APP
  5. 2.8 FSM之Moore和Mealy part1
  6. [gist]Android SHA-1
  7. 竹笋炒肉 I18N和L10N
  8. java.io.IOException: No space left on device
  9. jQuery 第二章
  10. C语言 数字翻转输出