SSH框架集合项目Hibernate分页
框架全是最新版本的,最好是继承于Hibernatetemplate下面的方法,急实在不行其它的也可以,需谢谢!...
框架全是最新版本的,最好是继承于Hibernatetemplate下面的方法,急实在不行其它的也可以,需谢谢!
展开
5个回答
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很多查询也难实现
query.setMaxResults(max);
query.setFirstResult(first); }总之不用想,分页最好用hql语句。如果还不清楚建议去看一下hibernate 的hql怎么用。很简单的。不会hqlhibernate很多查询也难实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个我可以提出个别的方式,因为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;
}
});
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;
}
});
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@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,参数可以是整数或是字符串
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);
q.setMaxResults(4);
q.setFirstResult(2);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-12
展开全部
你用HQL语句between不可以实现分页吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询