atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria
atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria
2. 统计功能框架普通有有些条件选项...一个日期选项..一个日期类型(日,周,月份,年等)
1
4. 设置聚合字段... @reduce(" sum(timLen) "),@reduce(" Avg(timLen) ") 2
6. 设置groupbydate 字段 @GroupBydate
3
8. 实现查询 ,,不能返回class,子能list<map>
3
9. 子对象关联 @CountRelt(uiFld="groupid",fld="departId") 3
1. 关键字
Hibernate criteria 日期groupby 子对象属性groupby
2. 统计功能框架普通有有些条件选项...一个日期选项..一个日期类型(日,周,月份,年等)
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: 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);
)
{
//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 );
}
//}
}
}
atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria的更多相关文章
- Atitit.log日志技术的最佳实践attilax总结
Atitit.log日志技术的最佳实践attilax总结 1. 日志的意义与作用1 1.1. 日志系统是一种不可或缺的单元测试,跟踪调试工具1 2. 俩种实现[1]日志系统作为一种服务进程存在 [2] ...
- atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 .打开浏览服务器文件夹java .net php 1. 环境:::项目java web,需要打开浏览服 ...
- 开源调度框架Quartz最佳实践
开源调度框架Quartz最佳实践 Quartz是一个Java调度框架,当前的最新版本为2.2.1. 以Quartz 2.2.1版为例,Quartz最佳实践(用于生产系统)总结如下: 1.跳过更新检查Q ...
- Atitit。团队建设--管理最佳实践--如何留住关键人才,防止人才外流 ??
Atitit.团队建设--管理最佳实践--怎样留住核心人才,防止人才流失 ?? 1. 1.人才流失后果 1 1. 1.员工的离职带走商业技术秘密和客户等资源 1 2. 2.影响在职员工的情绪.极大挫伤 ...
- Atitit。团队建设--管理最佳实践--如何留住核心人才,防止人才流失 ??
Atitit.团队建设--管理最佳实践--如何留住核心人才,防止人才流失 ?? 1. 1.人才流失后果 1 1. 1.员工的离职带走商业技术秘密和客户等资源 1 2. 2.影响在职员工的情绪,极大挫伤 ...
- atitit.压缩算法 ZLib ,gzip ,zip 最佳实践 java .net php
atitit.压缩算法 ZLib ,gzip ,zip 最佳实践 java .net php 1. 压缩算法的归类::: 纯算法,带归档算法 1 2. zlib(适合字符串压缩) 1 3. gz ...
- atitit.spring3 mvc url配置最佳实践
atitit.spring3 mvc url配置最佳实践 1. Url-pattern bp 1 2. 通用星号url pattern的问题 1 3. Other code 1 4. 参考 2 1. ...
- 快速web开发中的前后端框架选型最佳实践
这个最佳实践是我目前人在做的一个站点,主要功能: oauth登录 发布文章(我称为"片段"),片段可以自定义一些和内容有关的指标,如“文中人物:12”.支持自定义排版.插图.建立相 ...
- Atitit. 异常的使用总结最佳实践java .net php Vo8f
Atitit.java 异常的使用总结最佳实践 Vo8f 1. 为什么使用异常 1 2. 用throw抛出一个异常到catch子句中与通过函数调用传递一个参数两者基本相同. 2 3. S E H的主要 ...
随机推荐
- Android支付之支付宝封装类
今天介绍下在android中如何集成支付宝支付到自己的APP中去.让APP能够拥有方便,快捷的支付功能. 我们在做Android支付的时候肯定会用到支付宝支付,根据官方给出的demo做起来非常费劲,所 ...
- Java语言环境(JDK的安装教学)
//此文档由徐浩军编写(32/64位系统都适用) 1.下载JDK安装包你 2.点击安装包开始安装 3.首先你要选择安装地址一般情况下,都会选择默认地址. (请记住这个地址,之后配置环境变量的时候需要用 ...
- 問題排查:沒有任何多載符合 System.Timers.ElapsedEventHandler 委派
這是在實作當前專案最後一個關鍵功能:提醒通知 所遇到的奇怪狀況 目前的設想,是以 Windows Form 結合 Timer,當作發送通知的載體 大家都知道在 C# 的環境裡,有三種內建的 Timer ...
- 第一章 Mybtais的两种启动方式
Mybatis的两种启动方式如下: 1.xml实现: xml的实现方式中,主要是通过手动创建SqlSession,然后调用session.selectOne()方法实现来实现. 首先是创建Config ...
- Practice:输入年月日,判断该时间为一年的第几天
#-*- coding:utf- -*- ''' Created on -- # 输入年月日,判断为一年的第几天 @author: AdministrInputator ''' def leapYea ...
- python3中的zip
在 python2 中zip可以将两个列表并入一个元组列表,如: a = [1,2,3,4] b = [5,6,7,8] c = zip(a,b) 结果:c [(1,5),(2,6),(3,7),(4 ...
- [学习笔记] 七步从AngularJS菜鸟到专家(7):Routing [转]
这是"AngularJS – 七步从菜鸟到专家"系列的第七篇. 在第一篇,我们展示了如何开始搭建一个AngularaJS应用.在第四.五篇我们讨论了Angular内建的directives,上一篇了解 ...
- c# 框架学习(nop )总结-------编辑功能
一.在js中配置列: <script> $(document).ready(function () { $("#enterprise-grid").kendoGrid( ...
- 关于checkbox与文字混排无法对齐的解决方法
先前代码如下 <span style="vertical-align:middle"><input type="checkbox" name ...
- 运行iis出现:The server has encountered an error while loading an application ……的解决办法【转】
本人测试了下,第三种方法成功了. 然后经过网上搜索,3种解决方法: 第一种: MC检测到此管理单元发生一个错误.建议关闭并重新启动MMC 要变通解决此问题, 请按照下列步骤操作进入 WMI MMC 管 ...