文章目录

 


分页查询

使用SELECT查询时,如果结果集数据量很大,放在一个页面显示的话数据量太大,更好的办法就是分页显示,即实现分页功能,进行分页查询。


一、控制分页Query的两个方法是什么?

一是:setFirstResult(int firstResult):设定从那个对象开始检索。     

二是:setMaxResults(int maxResult):设置一次最多能检索出对象的数目。

二、例子

1.主要用到的语句

代码如下(示例):

例如: 
      //从第一行开始,提取前5个对象(记录)
     Query  query=session.createQuery(“from User”);
	query.setFirstResult(0);
	query.setMaxResults(5);
	List result=query.list();

2.实现的分页查询

查总的记录数,分页查询给出接口,算一下哪页都有哪些记录;分页从哪个对象开始记录,要知道分页的大小,算出那一页序号开始的记录。

要看第三页的分页显示,一页显示十条。

代码如下(示例):

public void testPageQuery() {
					Configuration cfg = null;
					SessionFactory sf = null;
					Session session = null;
					Transaction ts = null;
				try{
					sf =HibernateUtil.getSessionFactory();//sessionFactory单态模式
					session=sf.getCurrentSession();//保证每个读写线程有唯一的session的实例
				ts = session.beginTransaction();
				Query query = session.createQuery(" from User u");
				query.setFirstResult(0);
				query.setMaxResults(3);
				List user =query.getResultList();
				
				for(User u:users)
				{
					System.out.println(u.toString());
				}

				ts.commit();
				}catch(HibernateException e) {
					
				e.printStackTrace();
				
				if(ts!=null)
				{ts.rollback();}}
				finally {
					//session.close();
					//sf.close();
				}
			}

 


总结

  通过setFirstResult(int firstResult)设定从那个对象开始检索;setMaxResults(int maxResult):设置一次最多能检索出对象的数目,进行控制分页。

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐