三重迴圈
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 方式
- /**
- * 分頁查詢
- */
- @SuppressWarnings("unchecked")
- public List doSearch(PageDao pageDAO, final int pageSize,
- final String name00) throws Exception {
-
- List list = new ArrayList();
- StringBuffer sql = new StringBuffer(
- "from Book b where b.name00 LIKE '%");
- sql.append(name00);
- sql.append("%'");
-
- final String typeSql = new String(sql);
- // 設定每頁顯示條數
- pageDAO.setPagesize(pageSize);
- int pagesize = pageDAO.getPagesize();
- // 擷取總記錄數
- List count = (List)hibernateTemplate.execute(
-
- new HibernateCallback(){
- public Object doInHibernate(Session session)
- throws HibernateException, SQLException{
- Query q = session.createQuery(typeSql);
- //q.setFirstResult(0);
- //q.setMaxResults(2);
- List ss =q.list();
- return q.list(); //沒查到資料也不會返回null, 只能用isEmpty
- }
- }
- );
- pageDAO.getRsCountForSQL(count.size());
- // 擷取總頁數
- pageDAO.GetPageCount();
- // 擷取當前頁
- final int currpage = pageDAO.GetCurrentPageForRequest();
- // 設定工具條類型
- String pool = pageDAO.pagetool(PageDao.Text);
-
- //System.out.println(pageDAO.getParamUrl());
-
- List<BookDTO> dt = new ArrayList<BookDTO>();
- List rs = (List)hibernateTemplate.execute(
-
- new HibernateCallback(){
- public Object doInHibernate(Session session)
- throws HibernateException, SQLException{
- Query q = session.createQuery(typeSql);
- q.setFirstResult((currpage - 1) * pageSize);
- q.setMaxResults(pageSize);//currpage *
- List ss =q.list();
- return q.list(); //沒查到資料也不會返回null, 只能用isEmpty
- }
- }
- );
- for (Iterator it = rs.iterator(); it.hasNext();) {
- Object obj = it.next();
- BookDTO dto = new BookDTO();
- BeanUtils.copyProperties(obj,dto);
- dt.add(dto);
- }
- //session.setAttribute("pagedto", pageDAO);
- list.add(0,dt);
- list.add(1,pool);
- return list;
-
- }