Hibernate之分页查询

xiaoxiao2021-02-27  402

1)要点:先查询总记录数,再分页查询

2)代码

package com.bighuan.a_query; import org.hibernate.Criteria; import org.hibernate.Query; import org.hibernate.ScrollableResults; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.criterion.Restrictions; import org.junit.Test; public class App_page { private static SessionFactory sf; static { sf = new Configuration().configure().addClass(Dept.class) .addClass(Employee.class) // 测试时候使用 .buildSessionFactory(); } /** * 分页查询 */ @Test public void page() { Session session = sf.openSession(); session.beginTransaction(); Query q = session.createQuery("from Employee"); // 总记录数 ScrollableResults scroll = q.scroll(); //获取滚动的结果集 scroll.last(); // 滚动到最后一行 int totalCount = scroll.getRowNumber()+1;//获取滚动的记录数,即总记录数(因为从0开始,要+1) // 设置分页参数 q.setFirstResult(0); q.setMaxResults(3); System.out.println(q.list()); System.out.println(totalCount); session.getTransaction().commit(); session.close(); } }

转载请注明原文地址: https://www.6miu.com/read-2043.html

最新回复(0)