HibernateDaoSupport分页方法

使用HibernateDaoSupport的分页方法,super.getHibernateTemplate().setFetchSize(in);super.getHib... 使用HibernateDaoSupport的分页方法,
super.getHibernateTemplate().setFetchSize(in);
super.getHibernateTemplate().setMaxResults(10);
不管in怎么改,都成第一条数据开始查,始终是是前10条,这是为什么了。
还有请问下spring的HibernateDaoSupport和Hihernate的session那个很好。有什么区别,
展开
 我来答
zhaotao_king
推荐于2016-03-31 · TA获得超过2455个赞
知道大有可为答主
回答量:863
采纳率:0%
帮助的人:1132万
展开全部
①HibernateDaoSupport分页功能
主要使用的方法是:setFirstResult和setMaxResults,西面是一个简单的例子
/**
* 按HQL分页查询
*
* @param firstResult
* 开始记录号
* @param maxResults
* 最大记录数
* @param hql
* 查询语句,支持连接查询和多条件查询
* @param params
* 参数数组,代替餐hql中的"?"号
* @return 封装List和total的Pager对象
*/
@SuppressWarnings("unchecked")
public PageModel<T> findForPagerByHql(final int firstResult,
final int maxResults, final String hql, final Object[] params) {
PageModel<T> pager = (PageModel<T>) getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(hql);
for (int position = 0; position < params.length; position++) {
query.setParameter(position, params[position]);
}
int totalCounts = query.list().size(); // 总记录数
// 用于分页查询
if (maxResults > 0) {
query.setFirstResult(firstResult);
query.setMaxResults(maxResults);
}
List<T> list = query.list();
PageModel<T> pageModel = new PageModel<T>();
pageModel.setPageNo(firstResult);
pageModel.setPageSize(maxResults);
pageModel.setTotalRecords(totalCounts);
pageModel.setList(list);
return pageModel;
}
});
return pager;
}

②spring的HibernateDaoSupport和Hihernate的session那个很好?他们之间只是封装有所不同,建议你可以分别阅读以下二者的源码,你读完后会发现,你可以自己写出来!

PS:good luck!如果问题可留言或百度Hi我!~
百度网友f214dce
2011-11-25 · TA获得超过3715个赞
知道大有可为答主
回答量:3476
采纳率:0%
帮助的人:5633万
展开全部
用spring来管理能减少项目的耦合度,利于项目维护,和后期开发,一看你这个就是分页,要用2个方法setFirstResult和setMaxResults;setfirstresult这个方法是显示第几页,setmaxresults是显示每一页的个数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yang___sen
2011-11-11 · 超过14用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:44.5万
展开全部
用spring 管理好,用spring来管理能减少项目的耦合度,利于项目维护,和后期开发,一看你这个就是分页,要用2个方法setFirstResult和setMaxResults;setfirstresult这个方法是显示第几页,setmaxresults是显示每一页的个数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
见所某某
2011-11-21
知道答主
回答量:28
采纳率:0%
帮助的人:23.6万
展开全部
setFetchSize与分页无关的。

你得用firstResult和maxResult两个方法。

两个session都一样。只不过HibernateDaoSupport对session做了封装而已。

用起来方便。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式