hibernate+spring+jsp实现分页原理和其他分页差不多 也可以用自定义标签 你可以用自定义标签进行分页,这个例子你可以看一下 http://blog.csdn.net/jl6061/archive/2008/02/11/2088382.aspx 一般情况下都能用 不过有些情况除外(比如说:你用ajax获得数据等)本来hibernate底层对分页提供了两个好方法,可以直接传参进行分页 setFirstResult() setMaxResults() 不过和spring进行集成后,你用的是是依赖注入的方式的话,要稍微麻烦一点点 我把我做的一个项目的底层的分页代码copy给你参考一下(利用内部类来实现): (项目说明:根据用户ID查询用户发布的房屋信息) public List<TblFwxx> selectMyFwxx(final int pageSize, final int pageNum,final int uid) { List<TblFwxx> list = this.getHibernateTemplate().executeFind( new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
return session.createQuery("select tf from TblFwxx tf where tf.tblUser.uid=:uid").setInteger("uid", uid).setMaxResults( pageSize).setFirstResult( ((pageNum - 1) * pageSize)).list(); }
不知道lz问什么分页,数据库分页还是页面分页数据库分页的话Hibernate有方法可以select * from ( select rownum as r,t.* from( select tableName.* from tableName order by tableColum DESC ) t where rownum<=endPos) where r>startPos
!Jsp+Servlet
也可以用自定义标签 你可以用自定义标签进行分页,这个例子你可以看一下
http://blog.csdn.net/jl6061/archive/2008/02/11/2088382.aspx
一般情况下都能用 不过有些情况除外(比如说:你用ajax获得数据等)本来hibernate底层对分页提供了两个好方法,可以直接传参进行分页
setFirstResult() setMaxResults()
不过和spring进行集成后,你用的是是依赖注入的方式的话,要稍微麻烦一点点
我把我做的一个项目的底层的分页代码copy给你参考一下(利用内部类来实现):
(项目说明:根据用户ID查询用户发布的房屋信息)
public List<TblFwxx> selectMyFwxx(final int pageSize, final int pageNum,final int uid) {
List<TblFwxx> list = this.getHibernateTemplate().executeFind(
new HibernateCallback(){ public Object doInHibernate(Session session)
throws HibernateException, SQLException {
return session.createQuery("select tf from TblFwxx tf where tf.tblUser.uid=:uid").setInteger("uid", uid).setMaxResults(
pageSize).setFirstResult(
((pageNum - 1) * pageSize)).list();
}
});
return list;
}
select rownum as r,t.* from(
select tableName.* from tableName order by tableColum DESC
) t where rownum<=endPos) where r>startPos
setFirstResult() setMaxResults()