Oracle 、MySql分頁 舉例

來源:互聯網
上載者:User

三重迴圈

select mbid00,mbmc00, llurl0,cfwz00,mbsltp,sycs00,lrsj00 from (
  select mbid00,mbmc00, llurl0,cfwz00,mbsltp,sycs00,lrsj00,rownum as con from (
    select * from JZ_MBXXB0 where 1=1 and lbid00=
    '201'
    order by lrsj00)
     where rownum<=
     10
     ) where con>=
     1

在hibernate + Mysql 方式

  1. /** 
  2.      * 分頁查詢 
  3.      */  
  4.     @SuppressWarnings("unchecked")  
  5.     public List doSearch(PageDao pageDAO, final int pageSize,  
  6.             final String name00) throws Exception {  
  7.           
  8.         List list = new ArrayList();  
  9.         StringBuffer sql = new StringBuffer(  
  10.         "from Book b where b.name00 LIKE '%");  
  11.         sql.append(name00);  
  12.         sql.append("%'");  
  13.           
  14.         final String typeSql = new String(sql);  
  15.         // 設定每頁顯示條數   
  16.         pageDAO.setPagesize(pageSize);  
  17.         int pagesize = pageDAO.getPagesize();  
  18.         // 擷取總記錄數   
  19.         List count = (List)hibernateTemplate.execute(    
  20.   
  21.             new HibernateCallback(){  
  22.                 public Object doInHibernate(Session session)  
  23.                 throws HibernateException, SQLException{  
  24.                 Query q = session.createQuery(typeSql);  
  25.                 //q.setFirstResult(0);   
  26.                 //q.setMaxResults(2);   
  27.                 List ss =q.list();  
  28.                 return q.list(); //沒查到資料也不會返回null, 只能用isEmpty   
  29.             }  
  30.         }  
  31.         );  
  32.         pageDAO.getRsCountForSQL(count.size());  
  33.         // 擷取總頁數   
  34.         pageDAO.GetPageCount();  
  35.         // 擷取當前頁   
  36.         final int currpage = pageDAO.GetCurrentPageForRequest();  
  37.         // 設定工具條類型   
  38.         String pool = pageDAO.pagetool(PageDao.Text);  
  39.   
  40.         //System.out.println(pageDAO.getParamUrl());   
  41.           
  42.         List<BookDTO> dt = new ArrayList<BookDTO>();  
  43.         List rs = (List)hibernateTemplate.execute(    
  44.   
  45.                 new HibernateCallback(){  
  46.                     public Object doInHibernate(Session session)  
  47.                     throws HibernateException, SQLException{  
  48.                     Query q = session.createQuery(typeSql);  
  49.                     q.setFirstResult((currpage - 1) * pageSize);  
  50.                     q.setMaxResults(pageSize);//currpage *    
  51.                     List ss =q.list();  
  52.                     return q.list(); //沒查到資料也不會返回null, 只能用isEmpty   
  53.                 }  
  54.             }  
  55.             );  
  56.         for (Iterator it = rs.iterator(); it.hasNext();) {  
  57.             Object obj = it.next();  
  58.             BookDTO dto = new BookDTO();  
  59.             BeanUtils.copyProperties(obj,dto);  
  60.             dt.add(dto);  
  61.         }  
  62.         //session.setAttribute("pagedto", pageDAO);   
  63.         list.add(0,dt);  
  64.         list.add(1,pool);  
  65.         return list;  
  66.           
  67.     }  
  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.