hibernate_分页查询

网友投稿 933 2022-11-19

hibernate_分页查询

hibernate_分页查询

@Test public void test() { SessionFactory sf = null; Session session = null; Transaction ts = null; try { sf = HibernateUtil.getSessionFactory(); session = sf.getCurrentSession(); ts = session.beginTransaction(); // 开始事务 // Query query = session.createQuery("from User as u where (u.age > (select avg(u.age) from User as u)) "); // Query query = session.createQuery("from User as u order by u.birthday,u.name desc"); // Query query = session.createQuery("select u.gender, avg(u.age), count(*) from User as u group by u.gender having avg(u.age) > 21 "); // Query query = session.createQuery("from User as u where u.name like ?1 and u.age > ?2"); //query.setParameter(1, "%王%"); //query.setParameter(2, 10); Query query = session.createQuery("from User"); int n1 = 3, n2 = 10; // 每页十条记录,查询第三页 /* * setFirstResult下标从0开始计算,第n1页前,共n2*(n1-1)条记录 * 当前记录id应该为n2*(n1-1)+1 * 下标从零开始计算,所以传参应该为:n2*(n1-1)+1-1=n2*(n1-1) */ query.setFirstResult(n2 * (n1 - 1)).setMaxResults(n2); List list = query.list(); for (int i = 0; i < list.size(); ++i) System.out.println(list.get(i)); ts.commit(); // 提交事务 } catch (Exception e) { e.printStackTrace(); if (ts != null) { ts.rollback(); // 回滚 } } }

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:蓝桥杯 试题 算法训练——猴子吃包子
下一篇:剑指Offer——JZ57.二叉树的下一个结点【中序遍历】
相关文章

 发表评论

暂时没有评论,来抢沙发吧~