SSH框架集合项目Hibernate分页

框架全是最新版本的,最好是继承于Hibernatetemplate下面的方法,急实在不行其它的也可以,需谢谢!... 框架全是最新版本的,最好是继承于Hibernatetemplate下面的方法,急实在不行其它的也可以,需谢谢! 展开
 我来答
匿名用户
2013-04-12
展开全部
哥哥,HQL查询语句也是hibernate的一部分呀。你光用hibernate生成的find方法是没办法直接分页的。public Object finde(int first,int max) { Query query= session.createQuery("from 类名 别名 order by 别名.属性 desc");//字符串为hql的语法和sql //其实差不多
query.setMaxResults(max);
query.setFirstResult(first); }总之不用想,分页最好用hql语句。如果还不清楚建议去看一下hibernate 的hql怎么用。很简单的。不会hqlhibernate很多查询也难实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友62bec5e9e
2013-04-12 · TA获得超过134个赞
知道小有建树答主
回答量:129
采纳率:54%
帮助的人:65.1万
展开全部
你这个我可以提出个别的方式,因为hibernate带有分页方法
lis = this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(sql);
query.setFirstResult(pageNo);
query.setMaxResults(pageSize);
List lis = query.list();
return lis;
}
});
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huanlin168
2013-04-12
知道答主
回答量:9
采纳率:0%
帮助的人:6.2万
展开全部
@SuppressWarnings("unchecked")
public List<Object> list(String sql, Integer startpage, Integer pagesize,
Object... objects) {
// TODO Auto-generated method stub
Session session = super.getSession(true);
Query query = session.createQuery(sql);
if (objects != null) {
Pattern pattern = null;
pattern = Pattern.compile("[0-9]+");
Matcher matcher = null;
boolean result = true;
String str = null;
for (int i = 0; i < objects.length; i++) {

str = "" + objects[i];
matcher = pattern.matcher((CharSequence) str);
result = matcher.matches();
if (result) {
query.setInteger(i, Integer.parseInt(str));
// System.out.println("true");
} else {
// System.out.println("false");
query.setParameter(i, str);
}

}
}

if (startpage != null) {
query.setFirstResult(startpage);
}
if (pagesize != null) {
query.setMaxResults(pagesize);
}
List<Object> list = query.list();
session.close();

return list;

}
startpage 是开始位置,pagesize每页显示记录

objects是sql要用到的参数,如果没有就写null,参数可以是整数或是字符串
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-12
展开全部
Query q = session.createQuery("from Emp e order by e.ename desc");
q.setMaxResults(4);
q.setFirstResult(2);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-12
展开全部
你用HQL语句between不可以实现分页吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式