atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria

atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria

1. 关键字 1

2. 统计功能框架普通有有些条件选项...一个日期选项..一个日期类型(日,周,月份,年等)
1

3. 元数据的位置,不需要绑定class 1

4. 设置聚合字段... @reduce(" sum(timLen) "),@reduce(" Avg(timLen) ") 2

5. 设置groupby  字段  @GroupBy 2

6. 设置groupbydate  字段  @GroupBydate
3

7. Where设置@condition 3

8. 实现查询 ,,不能返回class,子能list<map>
3

9. 子对象关联 @CountRelt(uiFld="groupid",fld="departId") 3

1. 关键字

Hibernate criteria 日期groupby  子对象属性groupby

2. 统计功能框架普通有有些条件选项...一个日期选项..一个日期类型(日,周,月份,年等)

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:[email protected]

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

3. 元数据的位置,不需要绑定class

统计的list结果是不绑定class的,,走十一个List(map>

中间,元数据放的个拉李都行了...

不过,放得个html黑头还要解释器了....使用注解实现走马中个麻烦的...林吧,还是使用注解实现兰...

4. 设置聚合字段... @reduce(" sum(timLen) "),@reduce(" Avg(timLen) ")

private Integer timLen;

5. 设置groupby  字段 @GroupBy

@GroupBy

@CountRelt(uiFld="groupid",fld="departId")

Equipment eq;

解释器实现

Criteria c = new BaseSvs().getSession().createCriteria(this.saveObjClass);

Criteria eqCri = c.createAlias("eq", "equ", JoinType.LEFT_OUTER_JOIN);

if(this.reqMap.get("groupid")!=null && this.reqMap.get("groupid").toString().trim().length()>0 )

{

//Projections.groupProperty(propertyName)

projectionList1.add(  Projections.groupProperty("equ.departId").as("departId"));

projectionList1.add(  Projections.groupProperty("equ.equipmentId").as("equipmentId"));

//projectionList1.add(  Projections.groupProperty("equ.mome").as("mome"));

int grpid = Integer.parseInt(   this.reqMap.get("groupid").toString());

eqCri.add( Restrictions.eq("equ.departId", grpid));

}

6. 设置groupbydate  字段 @GroupBydate

或者不个这个弄个自定义的fmtr比较好的.....不过这个date雅十通常使用的,,spetion弄个中个注解也行了...

解释器实现

projectionList1.add(Projections.sqlGroupProjection(" count(*) as shouldDown, count(*) as actDown,  CONVERT(varchar(10), download_create_time ,23 ) as timRang ", "  CONVERT(varchar(10), download_create_time ,23 ) ", new String[] { "shouldDown", "actDown", "timRang" }, new Type[] { IntegerType.INSTANCE, IntegerType.INSTANCE, StringType.INSTANCE }));

7. Where设置@condition

留意子对象属性conditon 的设置...

8. 实现查询 ,,不能返回class,子能list<map>

不官十使用criteria ,还是sql ,都子能回归mapList,,...还以为criteria能回归class了...

Criteria cri=getCriteria();

cri.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);

List list=cri.list();

9. 子对象关联@CountRelt(uiFld="groupid",fld="departId")

Equipment eq;

解释器实现

setCountRelt2(list_sub);

private void setCountRelt2(List<Map> list_sub) {

// attilax 老哇的爪子  2_47_6   o9r

//List<String> CountReltFldsList=getCountReltFldsList();

for (Map map : list_sub) {

//for (String fldName : CountReltFldsList) {

//Class rltCls = getFldClass(fldName);      equmnet :eq

//Field idFld = null;

//try {

//idFld = refx.getIdFld_EXO9o(rltCls);

//} catch (cantFindMatchFieldException e) {

////  attilax 老哇的爪子 10_58_h   o9q

////e.printStackTrace();

//core.warn(e);

//}

Object idVal = map.get("equipmentId");  //eqid

if(idVal!=null)

{

Object rltObj = getSession().get(Equipment.class,(Integer) idVal);

map.put("eq", rltObj );

}

//}

}

}

时间: 2024-10-27 09:34:29

atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria的相关文章

atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php

atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 .打开浏览服务器文件夹java .net php 1. 环境:::项目java web,需要打开浏览服务器文件夹挑选文件,在返回... 1 2. 在线文件管理器要实现的基本的功能::指定开始目录,指定getfile回调 1 3. 组件选型:: elFinder (3M) ,,php web ftp 1 4. elFinder 的概念 1 5. elFinder  1.x 的使用过程 2 6. elF

开源调度框架Quartz最佳实践

开源调度框架Quartz最佳实践 Quartz是一个Java调度框架,当前的最新版本为2.2.1. 以Quartz 2.2.1版为例,Quartz最佳实践(用于生产系统)总结如下: 1.跳过更新检查Quartz内置了一个“更新检查”特性,因此Quartz项目每次启动后都会检查官网,Quartz是否存在新版本.这个检查是异步的,不影响Quartz项目本身的启动和初始化.可以在Quartz配置文件中,设置org.quartz.scheduler.skipUpdateCheck的属性为true来跳过更

atitit.压缩算法 ZLib ,gzip ,zip 最佳实践 java .net php

atitit.压缩算法 ZLib ,gzip ,zip   最佳实践  java .net php 1. 压缩算法的归类::: 纯算法,带归档算法 1 2. zlib(适合字符串压缩) 1 3. gzip( 适合单个的文件) 1 4. zip 2 5. java jdk 给zlib,gzip,zip的支持 2 6. zlib---gzip 压缩在后长度比较 2 7. 别的bzip,,tar 2 8. 参考 3 1. 压缩算法的归类::: 纯算法,带归档算法 ZIP.RAR等归档算法 ZLib可以

atitit.spring3 mvc url配置最佳实践

atitit.spring3 mvc url配置最佳实践 1. Url-pattern  bp 1 2. 通用星号url pattern的问题 1 3. Other code 1 4. 参考 2 1. Url-pattern  bp Default       <url-pattern>/</url-pattern> <url-pattern>/*</url-pattern> 中间容易的冲突....spr十为了restful风格,,才默认中配置的.. 跟个d

Atitit.log日志技术的最佳实践attilax总结

1. 日志的意义与作用1 1.1. 日志系统是一种不可或缺的单元测试,跟踪调试工具1 2. 俩种实现[1]日志系统作为一种服务进程存在 [2]日志系统作为系统调用存在2 3. 上下文(手动或者aop模式,记录参数)MDC2 3.1. 2 4. 日志格式规范2 4.1. 输出地点:日志,console,db2 5. 动态切换日志2 6. 大数据搜索与日志挖掘及可视化方案——ELK Stack:Elasticsearch.Logstash.Kibana (第2版)2 6.1. Web用户查询日志挖掘

Atitit. 异常的使用总结最佳实践java .net php Vo8f

Atitit.java 异常的使用总结最佳实践 Vo8f 1. 为什么使用异常 1 2. 用throw抛出一个异常到catch子句中与通过函数调用传递一个参数两者基本相同. 2 3. S E H的主要动机 2 4. RuntimeException跟checked Exception 2 5. 要不要使用checked Exception 3 6. Exception业务流程控制 可以借鉴一下) 3 7. checked Exception 的缺点 4 8. Base类and 扩展class 抛

Atitit. 拉开拉链zip文件 最佳实践实施 java c# .net php

Atitit. 拉开拉链zip文件 的实现最佳实践 java c# .net php 1. Jdk zip 跟apache ant zip 1 2. Apache Ant包进行ZIP文件压缩,upzip 大概流程.. 1 3. 读文件名ok,可是cant读取到input说NPE.. 2 4. Ant1.8.2.jar 2 5. #---具体code 2 6. 參考 4 1.  Jdk zip 跟apache ant zip 以下实现的功能是zip文件里的图像文件解压到当前文件夹下.用jdk自带的

atitit.避免NullPointerException 总结and 最佳实践 o99

atitit.避免NullPointerException 对于返回集合的方法很简单,只需要返回空的集合就可以了,而不是null. 1 一种可选办法就是不使用空返回值,而是空对象模式: 1 直接抛出ex,,还是尽量的不去使用null返回值. 1 1) 从已知的String对象中调用equals()和equalsIgnoreCase()方法,而非未知对象. 2 当valueOf()和toString()返回相同的结果时,宁愿使用前者. 3 使用null安全的方法和库Apache commons 中

前端性能优化最佳实践

最佳实践1:使用DocumentFragments或innerHTML取代复杂的元素注入 DOM操作在浏览器上是要付税的.尽管性能提升是在浏览器,DOM很慢,如果你没有注意到,你可能会察觉浏览器运行非常的慢.这就是为什么减少创建集中的DOM节点以及快速注入是那么的重要了. 现在假设我们页面中有一个<ul>元素,调用AJAX获取JSON列表,然后使用JavaScript更新元素内容.通常,程序员会这么写: Javascript代码 var list = document.querySelecto