谁能给我一个hibernate分页的例子,并说说hibernate分页的好处
2个回答
展开全部
分页有两种,一种真分页,一种假分页。
真分页:执行速度比较快,是真正的分条数查询。(不能跨平台,每个数据库分页语句不一样。但是hibernate 跨数据库,所有真分页比假分也好、)
假分页:实际上还是把数据库中的数据load 出来了,只是依靠算法来实现查看的内容。(能夸平台)
public List<User> getAllUsers(int offset) {
Session session=hibernateTemplate.getSessionFactory().openSession();
Transaction transaction =session.beginTransaction();
String hql="FROM User";
Query query=session.createQuery(hql);
query.setFirstResult(offset);
query.setMaxResults(10);
List<User>users=query.list();
transaction.commit();
session.close();
if (users.iterator().hasNext()) {
return users;
}else {
return null;
}
}
我这里写死了,规定每次只查10条数据。你参考下
真分页:执行速度比较快,是真正的分条数查询。(不能跨平台,每个数据库分页语句不一样。但是hibernate 跨数据库,所有真分页比假分也好、)
假分页:实际上还是把数据库中的数据load 出来了,只是依靠算法来实现查看的内容。(能夸平台)
public List<User> getAllUsers(int offset) {
Session session=hibernateTemplate.getSessionFactory().openSession();
Transaction transaction =session.beginTransaction();
String hql="FROM User";
Query query=session.createQuery(hql);
query.setFirstResult(offset);
query.setMaxResults(10);
List<User>users=query.list();
transaction.commit();
session.close();
if (users.iterator().hasNext()) {
return users;
}else {
return null;
}
}
我这里写死了,规定每次只查10条数据。你参考下
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询