怎么使用hibernate自己的分页?

我的框架是struts、spring、hibernate。用的是oracle数据库。我从百度找到这个网页。看着有点乱:http://www.360doc.com/cont... 我的框架是struts、spring、hibernate。用的是oracle数据库。
我从百度找到这个网页。看着有点乱:http://www.360doc.com/content/07/0821/01/39150_685191.shtml
展开
 我来答
百度网友495e229
2010-07-17 · TA获得超过699个赞
知道小有建树答主
回答量:332
采纳率:87%
帮助的人:125万
展开全部
使用两个函数
setFirst..()设置第一条的开始位子
setMax...();一页要多少条
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vk...d@163.com
2010-07-18 · TA获得超过137个赞
知道答主
回答量:217
采纳率:0%
帮助的人:87.1万
展开全部
我的楼上正解,如果你看不懂,那说明你的知识还不足以解决问题,再学点吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友92c9565
2010-07-16 · TA获得超过461个赞
知道小有建树答主
回答量:517
采纳率:0%
帮助的人:345万
展开全部
/**
* 使用对象的查询方法
*
* @param c:查询的类
* @param obj:查询的对象
* @param orber:按那个字段排序
* @param row:每页多少条记录
* @param page:第几页
* @return List: 集合
*/
public List find(Class c, Object obj, String[] orber, int row, int page) {
List list = null;
try {
Criteria criteria = HibernateSessionFactory.getSession()
.createCriteria(c);
if (obj != null) {
Example example = Example.create(obj);
example.enableLike(MatchMode.ANYWHERE);// 匹配模式,使用模糊查询必填项。
example.excludeNone();// 空的不做查询条件
example.excludeZeroes();// 0不要查询
example.ignoreCase(); // 不区分大小写

criteria.add(example);
}

if (row > 0 && page > 0) {
criteria.setMaxResults(row);// 最大显示记录数
criteria.setFirstResult((page - 1) * row);// 从第几条开始
}

// 判断是否有排序请求,如果有加入到排序方法中
if (orber != null) {
for (int i = 0; i < orber.length; i++)
criteria.addOrder(Order.desc(orber[i]));
}
list = criteria.list();
return list;
} catch (HibernateException e) {
e.printStackTrace();
return null;
} finally {
HibernateSessionFactory.closeSession();
}

}

/**
* 使用HQL查询语句
*
* @param hql:hql语言
* @param row:每页显示多少记录
* @param page:显示第几页
* @param params:
* 所传的对应参数
* @return List: 返回集合
*/
public List find(String hql, int row, int page, ArrayList params) {
try {
query = HibernateSessionFactory.getSession().createQuery(hql);
if (null != params) {// 循环把给参数赋值
for (int i = 0; i < params.size(); i++) {
query.setParameter(i, params.get(i));
}
}
if (row > 0 && page > 0) {
query.setMaxResults(row);// 每页显示多少条记录
query.setFirstResult((page - 1) * row);// 显示第几条记录
}
return query.list();
} catch (HibernateException e) {
e.printStackTrace();
return null;
} finally {
HibernateSessionFactory.closeSession();
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式