Criteria查询之分页显示数据
生活随笔
收集整理的這篇文章主要介紹了
Criteria查询之分页显示数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Criteria對象的setMaxResults()方法可以限定查詢返回的記錄總數,其setFirstResult()方法可以設置滿足條件的第1條記錄的位置。二者配合時可以分頁顯示返回的數據
示例如下:
/**
??? ?* 測試分頁顯示數據
??? ?*/
??? public void testPage(){
??? ??? ?Session session = null;
??? ??? ? Transaction tx = null;
??? ??? ?
??? ??? ? session = HibernateUtils.getCurrentSession();
??? ??? ? tx = session.beginTransaction();
??? ??? ? Criteria criteria = session.createCriteria(Guestbook.class);
??? ??? ? Criterion criterion1 = Restrictions.like("name", "劉%");
??? ??? ? Criterion criterion2 = Restrictions.between("id", new Integer(1), new Integer(10));
??? ??? ?
??? ??? ? criteria.add(criterion1);
??? ??? ? criteria.add(criterion2);
??? ??? ? //添加查詢結果排序
??? ??? ? //按名稱排序
??? ??? ? criteria.addOrder(Order.asc("name"));
??? ??? ? //設置分頁
??? ??? ? criteria.setMaxResults(4);
??? ??? ? criteria.setFirstResult(2);
??? ??? ? List<Guestbook> list = criteria.list();
??? ??? ? tx.commit();
??? ??? ?
??? ??? ? HibernateUtils.closeSession(session);
??? ??? ?
??? ??? ?Iterator<Guestbook> it = list.iterator();
??? ??? ?System.out.println("-----------------查詢結果----------------");
??? ??? ?int i = 0;
??? ??? ?while(it.hasNext()){
??? ?????? Guestbook g = (Guestbook) it.next();
??? ?????? System.out.println("-----------第"+i+"條結果的信息-------------");
??? ?????? System.out.println(g.toString());
??? ?????? i++;
??? ??? ?}
??? }
???
示例如下:
/**
??? ?* 測試分頁顯示數據
??? ?*/
??? public void testPage(){
??? ??? ?Session session = null;
??? ??? ? Transaction tx = null;
??? ??? ?
??? ??? ? session = HibernateUtils.getCurrentSession();
??? ??? ? tx = session.beginTransaction();
??? ??? ? Criteria criteria = session.createCriteria(Guestbook.class);
??? ??? ? Criterion criterion1 = Restrictions.like("name", "劉%");
??? ??? ? Criterion criterion2 = Restrictions.between("id", new Integer(1), new Integer(10));
??? ??? ?
??? ??? ? criteria.add(criterion1);
??? ??? ? criteria.add(criterion2);
??? ??? ? //添加查詢結果排序
??? ??? ? //按名稱排序
??? ??? ? criteria.addOrder(Order.asc("name"));
??? ??? ? //設置分頁
??? ??? ? criteria.setMaxResults(4);
??? ??? ? criteria.setFirstResult(2);
??? ??? ? List<Guestbook> list = criteria.list();
??? ??? ? tx.commit();
??? ??? ?
??? ??? ? HibernateUtils.closeSession(session);
??? ??? ?
??? ??? ?Iterator<Guestbook> it = list.iterator();
??? ??? ?System.out.println("-----------------查詢結果----------------");
??? ??? ?int i = 0;
??? ??? ?while(it.hasNext()){
??? ?????? Guestbook g = (Guestbook) it.next();
??? ?????? System.out.println("-----------第"+i+"條結果的信息-------------");
??? ?????? System.out.println(g.toString());
??? ?????? i++;
??? ??? ?}
??? }
???
轉載于:https://blog.51cto.com/wujuxiang/406814
總結
以上是生活随笔為你收集整理的Criteria查询之分页显示数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 培训CRS
- 下一篇: Hello,Expression Ble