把查询到的数据分页显示出来,但是由于数据量过大,也就是数据库中count(*)是出不来的,导致无法分页显示,所以要自己写个Page封装方法,没有总数量的那种,在页面只能点击下一页自动加载数据,这个封装的Page方法改怎么写啊?小弟刚刚出来实习 勿喷!
解决方案 »
- 请教一个关于Linux下java内存的问题
- java中字符串剔除html标签(急求)
- 数据库开发这点事-前言
- 在学习ibatis的时候出现一个异常com.ibatis.common.jdbc.exception.NestedSQLException
- eclipse里的调试怎么用啊?
- 为什么服务器换IP以后原来网页上上传的图片不显示了
- 数据库访问效率问题
- 简单问题,昨天一天没人回……
- J2EE到底什么才属于你的范畴(小弟郁闷呀! 大家来了解一下。。。期待大家来发表意见, 在线等待。。。)
- 有人进来讲讲,用struts开发的异常捕获嘛?
- swing中的fixtable中,有否选中一个cell,可以得到前一个失去焦点的cell的处理?
- Spring 配置过程中的异常
http://blog.csdn.net/yyw6637/article/details/8794599
String hql = "from FactWapHourCdr1 fw1 where "; String searchTerm = "fw1.timeId>=" + startTime + "";
if (endTime != null && !endTime.equals(""))
searchTerm = searchTerm + " and fw1.timeId<=" + endTime+ ""; if (URL != null && !URL.equals(""))
searchTerm = searchTerm + " and fw1.url='" + URL + "' and rownum<= 100";
hql = hql + searchTerm; _log.info(hql);
return pagedQuery(hql, pageNumber, pageSize);如果没有rownum<= 100就查不到数据了!
select count(*) from FACT_WAP_HOUR_CDR1 where URL='http://r.admob.com/ad_source.php'and TIMEID>= 201305050000 and TIMEID <= 201305050001;
最简单的查询一分钟之内的数据数量都查不出来,
public Page pagedQuery(String hql, int pageNo, int pageSize,
Object... values) {
Assert.hasText(hql);
Assert.isTrue(pageNo >= 1, "pageNo should start from 1");
// Count查询
String countQueryString = " select count (*) "
+ removeSelect(removeOrders(hql));
List countlist = getHibernateTemplate().find(countQueryString, values);
long totalCount = (Long) countlist.get(0); if (totalCount < 1)
return new PageObject();
// 实际查询返回分页对象
int startIndex = PageObject.getStartOfPage(pageNo, pageSize);
Query query = createQuery(hql, values);
// List list =
// query.setFirstResult(startIndex).setMaxResults(pageSize).list();
List list = null;
try {
list = query.setFirstResult(startIndex).setMaxResults(pageSize)
.list();
} catch (Exception e) {
System.out
.println("*********pagedQuery Exception" + e.getMessage());
list = null;
}
if (list == null) {
list = new ArrayList();
} return new PageObject(list, totalCount, pageNo, pageSize);
}
这是一个封装好的方法 但是现在已近不能用这个方法了