我是用hibernate 的Criteria查询的,是分组查询,就是group by public List countNum()
{ DetachedCriteria dc = DetachedCriteria.forClass(CpmsUser.class); dc.setProjection(Projections.projectionList()
.add(Projections.rowCount(),"usernumber")
.add(Projections.groupProperty("username"),"username")
);
dc.addOrder(Order.desc("usernumber"));
dc.addOrder(Order.asc("username")); List list = this.findAllByCriteria(dc);
return list;
}这个list我
request.setAttribute("userlist",list);传到页面后,不知道怎么显示出其中的内容,
就是 分组统计的内容 Y0_ Y1_
1 2 asd
2 1 admin
3 1 fds
4 1 xcv平时的查询,我可以转成对象显示,但是这个,主要是生成的结果 字段不明,不知道怎么显示。
所以问问各位,因该怎么解决,或者有什么其他的合适方法。开发框架为struts+spring+hibernate+oracle
{ DetachedCriteria dc = DetachedCriteria.forClass(CpmsUser.class); dc.setProjection(Projections.projectionList()
.add(Projections.rowCount(),"usernumber")
.add(Projections.groupProperty("username"),"username")
);
dc.addOrder(Order.desc("usernumber"));
dc.addOrder(Order.asc("username")); List list = this.findAllByCriteria(dc);
return list;
}这个list我
request.setAttribute("userlist",list);传到页面后,不知道怎么显示出其中的内容,
就是 分组统计的内容 Y0_ Y1_
1 2 asd
2 1 admin
3 1 fds
4 1 xcv平时的查询,我可以转成对象显示,但是这个,主要是生成的结果 字段不明,不知道怎么显示。
所以问问各位,因该怎么解决,或者有什么其他的合适方法。开发框架为struts+spring+hibernate+oracle
<%int i=0;%>
<logic:iterate id="info" name="userlist" type="list里对象的类型" scope="request">
<td><% =i++%></td>
<td><bean:write name="info" property="list里对象的字段" scope="page"/></td>
<td><bean:write name="info" property="list里对象的字段" scope="page"/></td>
</logic:iterate>
你用
<logic:notEmpty name="uselist">
<logic:iterate id="result" name="uselist" type="CpmsUser">
<td><bean:write name="result" property="CpmsUser类中的属性"/></td>
</logic:iterate>
</logic:notEmpty>
<c:forEach var="it" items="info">
${it}
</c:forEach>
</c:forEach>
list中的对象不是对象CpmsUser类中的属性吗?当然不是了,用了group by的。回syoumei(只答有趣的题,只解答不甚懂的题)
findAllByCriteriaz是自己写的,不过没有什么内容,主要是封装了hibernate中的Factory,与session的建立,连接与关闭
while(iterator.hasnext()){
object[] p = (objcet[])iterator.next();
String usernumber = p[0];
String username = p[1];
}其实关键就是知道group by 返回的是一个object数组的链表
1 2 asd
2 1 admin
3 1 fds
4 1 xcv有2列,一个是个数,一个是group by的名字
String str = (String)iterator.next();
}
这样就得到值了,不过是username的,没有分组统计的数,看来可能是查询时候没有装入。不知道各位有没有什么建议,因该怎么写DAO,把怎么结果保存
中,把返回的List 换成List<Object[]>,就好了。结贴。