hibernate使用group by,having实现统计功能
2014-07-09 01:15
141 查看
1、 Hibernate group by 和having
hql语句如下,Object[] pramas ={ timeBegin ,timeEnd,mincount ,maxcount};
return syslogDao.findForPage("select username ,count(id) , max(createtime) from Syslog " +
" where createtime > ? and createtime < ? " +
"group by username having count(id) > ? and count(id) < ?", pramas ,pageSize ,page);
前台使用struts2标签取值,需要注意定义id="list"
2 、hibernate的select 读取结果集的两种显示方法
hibernate中用select读取的结果,返回的是一个List。我们可以直接调用,但是不是很方便,很晦涩。比如我们执行一条select语句,"selectcount(id),user_name from content group byuser_name",执行后返回一个List。前台假设我们用strut2的一个标签:<s:iteratorvalue="#request.list"id="list">姓名:<s:propertyvalue="#list[1]"/>数量:<s:propertyvalue="#list[0]"/></s:iterator>我觉得用Map的list更方便一些。
Object[]obj;
List newList = new ArrayList();
for(int i=0;i<list.size();i++){
Map map = new HashMap();
obj = (Object[])list.get(i);
map.put("count", obj[0]);
map.put("username", obj[1]);
newList.add(map);
}
model.addAttribute("list", newList);
前台调用:<s:iteratorvalue="#request.list"id="list">姓名:<s:propertyvalue="#list.username"/>数量:<s:propertyvalue="#list.count"/></s:iterator>
相关文章推荐
- hibernate使用group by,having实现统计功能
- 使用JPA的@SecondaryTable来实现hibernate的混合使用“每个类分层结构一张表”和“每个子类一张表”的功能
- 使用Hibernate实现数据更新功能(二)
- 使用hibernate和struts2实现分页功能
- hive使用技巧(三)——巧用group by实现去重统计
- 使用Hibernate 实现数据添加功能
- java中使用containsKey实现的group by功能
- 使用Spring整合Hibernate,并实现对数据表的增、删、改、查的功能
- extremetable+hibernate实现分页 关于结合hibernate后台数据分页和eXtremeTable分页功能的使用
- mongodb使用aggregate、group、match实现mysql中的having(count(1)>1)的功能
- 使用注解和spring的JdbcTemplate进行封装实现类似Hibernate的功能
- ASP.NET中使用Application对象实现简单在线人数统计功能
- 使用hibernate和struts2实现分页功能
- 使用hibernate和struts2实现分页功能
- extremetable+hibernate实现分页 关于结合hibernate后台数据分页和eXtremeTable分页功能的使用
- 使用hibernate和struts2实现分页功能
- 使用ASP.NET的Application对象实现在线人数统计的功能
- 使用Mysql和NoSQL实现热词统计功能
- Hibernate使用原生的动态sql实现带条件的查询分页功能
- 使用mod_ext_filter组件在Apache中实现输出内容的替换,为所有页面增加统计功能