有很多种方法,如果只是JSP里的话可以再次遍历获取的所有list集合,然后把满足条件的截取出来,开始的list下标应该是:(你要查询的页数-1)*页面要显示的数据条数,也就是你这里的(page-1)*pageRows,结束的地方也就是page*pageRows-1了。//这样应该可以写出来了吧
建议把这个方法封装到一个类里面,一个方法就实现一种功能。
当然这是比较麻烦的,现在流行框架,以后会学到的,在hibernate框架里用query语句很容易就实现了,现在时间多,
多看看hibernate框架吧,推荐你一本书,hibernate
in
action,有中文版的。这个是你们以后入门了hibernate后看的。
public
List
listOrderByItem(int
pageRows,int
page)
{
//page是要显示的页数,pageRows是你要显示的行数
Session
session
=
this.getSession()//获取hibernate的session,hibernate自动生成的DAO里包含
String
hql
=
"from
TBL_storage
as
tbl_s
order
by
item"//hql语句
Query
query
=
session.createQuery(hql)//hibernate的query,通过session创建
query.setFirstResult((page-1)*pageRows)//设置开始的下标
query.setMaxResults(pageRows)//设置每页显示的行数
return
query.list()//得到所需要的结果集
}
在数据库里这样写select * from
(select top(每页行数) * from
(select top(每页行数*页数) * from 表名 order by 主键名) t1
order by t1.主键名 desc) t2
order by t2.主键名
然后在现实出来的时候传入对应参数
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)