mysql分頁查詢

1,建立一個Page類,getset方法前端


2.查詢出數據庫所須要分頁的數據總數目totalCountsql


3.計算 總頁數 totalPage,總 數目已經獲得,當前頁數和 每頁顯示的數目是前端傳過來的,看下圖發現規律數據庫

總數/每頁顯示的數目 的結果 往上靠一點 就是總頁數 能夠利用 Math.ceil方法計算得出函數

總數 每頁現實數目 總頁數 9 10 0.9 1 10 10 1 11 10 1.1 2

//2.根據 總數目 和 當前 顯示數目 計算總頁數 int totalPage = (int) Math.ceil(1.0 * totalCount / currentCount);

4.把獲得的數據全封裝到Page類中spa

5.在利用limit函數以前 ,計算出起始位置code

公式:(當前頁數 -1 )*每頁顯示的數目blog

/*  頁數 每頁顯示的條數 起始位置  1 3 0  2 3 3  3 3 6  */ //4.計算起始位置 int startIndex = (currentPage - 1) * currentCount;

6.利用 limit函數get

ComboPooledDataSource dataSource = new ComboPooledDataSource(); QueryRunner queryRunner = new QueryRunner(dataSource); String sql = "SELECT * FROM category LIMIT ?,?"; List<Category> list = queryRunner.query(sql, new BeanListHandler<Category>(Category.class), startIndex, currentCount)
7.
//6.將集合 封裝到page類中 page.setList(findPageList);

8.將數據 返回到前端,前端分頁能夠用Bootstrap來作it

<nav>  <ul class="pagination">  <li>  <a href="#" aria-label="Previous" >  <span aria-hidden="true">«</span>  </a>  </li>   <li >  <a href="#" aria-label="Previous" >  <span aria-hidden="true"></span>  </a>  </li>   <c:forEach begin="1" end="${page.totalCount}" varStatus="status">
            <li>  <a href="?start=${status.index}" class="current">${status.count}</a>  </li>   </c:forEach>

        <li >  <a href="#" aria-label="Next">  <span aria-hidden="true"></span>  </a>  </li>  <li >  <a href="#" aria-label="Next">  <span aria-hidden="true">»</span>  </a>  </li>  </ul> </nav>
相關文章
相關標籤/搜索