从数据库查出数据存放在list里,但我只要取得前5条数据显示在页面,该怎么做
解决方案 »
- 怎么获取焦点
- 关于keyboard类的问题
- Java理论的的例子
- ArrayList转数组问题
- 请问一下为什么Class.forName()可以不用返回给一个class对象,而直接调用呢?
- 第一个JAVA程序
- 求救:怎么将已读入的流文件以字节形式取出
- 如何将Applet的弹出菜单下面的"java applet window"去掉
- 什么地方有jdbc2.0驱动程序,急需,谢谢!!!
- 下面的代码用eclipse compile为什么不行,我是完全从一个视频里抄过来的,视频里用的是ultra editor写的。是不是我一定要把class分开
- 为什么公开的类在的文件的名字必须和类名相同?
- ArrayList的删除方法
2.不用list,用treemap,实现内部排序。
public List findDate(final int first,final int size, final String sql){
return getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session s) throws HibernateException{
Query query = s.createQuery(sql);//SQL中最好要有一个Order By
query.setFirstResult(first);//开始数据
query.setMaxResults(size);//list中最大记录数
List list = query.list();
if(list != null && !list.isEmpty())
return list;
else
return null;
}
});
}
用两段SQL来实现。
一段SQL用来检索满足条件的记录总数。并根据这个条数做成分页按钮。
一段SQL用来检索一页的数据。
postgres中是limit...offset...
oracle中是rownum
其他的数据库你要自己查了。
表面上你java一个循环取了4条记录,数据库为了你取这4条记录使用的计算资源和存储资源可就大了去了,它要把所有符合条件的记录都筛选出来准备供你java端使用哪怕最后你没用到。做和数据库相关的程序你不能只考虑java这一方面,数据库的访问压力你也要考虑,否则程序的性能肯定要出问题的。
listOf5=list.subList(0,5)
list是有序的,set才是无序的
排序可以用Collections.sort();