當前位置:首頁 » 編程語言 » javamysql分頁

javamysql分頁

發布時間: 2024-09-08 03:44:07

⑴ Mysql中查詢語句實現分頁功能

pageNow代表當前頁面,第一頁。

java分頁

分頁想清楚了就沒什麼難的了。一般有兩種(我就知道兩種):

1.資料庫分頁:
/**
* @param pageItems:一頁顯示條數 currentPage:當前第幾頁
* @autor godelegant
*/
public List findAll(int pageItems,int currentPage){
StringBuffer sqlStr = new StringBuffer("select * from Proct limit ?,?");
...
...
int startIndex = (currentPage-1)*pageItems;);//(currentPage-1)*pageItems能過當前頁和頁面記錄數得到應該從哪條開始取
int endIndex = startIndex+pageItems;
db.getPstmt().setInt(1,startIndex);
db.getPstmt().setInt(2,endIndex);
ResultSet rs = db.getPstmt().executQuery();//假設你已經得到了資料庫連接

//以上為MYSQL的JDBC分頁,下面是ORALCE的,差別只在於SQL,所以你換一下SQL就OK:
StringBuffer sqlStr = new StringBuffer("select *,rownum rn from (select * from Proct) where rn <=? and rownum >=?");

}
求總頁數的方法很簡單,查出所有記錄數,除一頁顯示數。就可以得到

以上是JDBC的,如果使用hibernate等,資料庫分頁將會變得很簡單,只需要設置兩個參數,就是從哪取和取多少。

2.代碼分頁
思路是將資料庫中的所有記錄都取出來,然後再分頁。
/**
* @para items:資料庫中的所有記錄,你可以使用另一個方法得到,如何查詢得到我就不用說了吧
* @autor godelegant
*/
public List findAll(List items,int pageItems,int currentPage){
int startIndex = (currentPage-1)*pageItems;//從哪裡開始取
int offset = items.size()-startIndex;//還有多少沒有取過

int pageCount = offset>pageItems?pageItems:offset;//如果沒有取過的大於需要顯示的數,則實現顯示數pageCount=pageItems,反之然;

List<Proct> pageList = new ArrayList();
for(int i=startIndex,i<startIndex+pageCount,i++){
pageList.add(items.get(i));
}

return pageList;

}

寫了40分鍾,希望對你有用

熱點內容
怎麼把蘋果的號轉到安卓手機上 發布:2025-04-05 10:39:05 瀏覽:531
存儲核心架構瓶頸已被攻破 發布:2025-04-05 10:38:27 瀏覽:306
空間新演算法 發布:2025-04-05 10:33:21 瀏覽:706
蜀門和遠征哪個配置低 發布:2025-04-05 10:23:50 瀏覽:285
linux下jdk的安裝 發布:2025-04-05 10:12:20 瀏覽:68
單機江湖腳本 發布:2025-04-05 10:08:32 瀏覽:765
愛奇藝離線緩存怎麼傳藍牙 發布:2025-04-05 10:00:48 瀏覽:141
阿里雲伺服器內存超頻 發布:2025-04-05 10:00:48 瀏覽:576
如何登錄pubg國際服安卓手機 發布:2025-04-05 09:40:07 瀏覽:413
javafor表達式 發布:2025-04-05 09:22:22 瀏覽:869