JDBC應用游標完成分頁查詢的辦法。本站提示廣大學習愛好者:(JDBC應用游標完成分頁查詢的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是JDBC應用游標完成分頁查詢的辦法正文
本文實例講述了JDBC應用游標完成分頁查詢的辦法。分享給年夜家供年夜家參考,詳細以下:
/** * 一次只從數據庫中查詢最年夜maxCount筆記錄 * @param sql 傳入的sql語句 * @param startNo 從哪一筆記錄開端 * @param maxCount 總共取若干筆記錄 */ public void getData(String sql,int startNo,int maxCount){ Connection conn = ConnectionUtil.getConnection(); try { // conn.prepareStatement(sql,游標類型,可否更新記載); // 游標類型: // ResultSet.TYPE_FORWORD_ONLY:只進游標 // ResultSet.TYPE_SCROLL_INSENSITIVE:可轉動。然則不受其他用戶對數據庫更改的影響。 // ResultSet.TYPE_SCROLL_SENSITIVE:可轉動。當其他用戶更改數據庫時這個記載也會轉變。 // 可否更新記載: // ResultSet.CONCUR_READ_ONLY,只讀 // ResultSet.CONCUR_UPDATABLE,可更新 PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); //最年夜查詢到第幾筆記錄 pstat.setMaxRows(startNo+maxCount-1); ResultSet rs = pstat.executeQuery(); //將游標挪動到第一筆記錄 rs.first(); // 游標挪動到要輸入的第一筆記錄 rs.relative(startNo-2); while(rs.next()) System.out.println(rs.getInt(1)); } catch (SQLException e) { e.printStackTrace(); } } /** * 從數據庫中查詢一切記載,然後經由過程游標來獲得所需maxCount筆記錄 * @param sql 傳入的sql語句 * @param startNo 從哪一筆記錄開端 * @param maxCount 總共取若干筆記錄 */ public void getDataFromAll(String sql,int startNo,int maxCount){ Connection conn = ConnectionUtil.getConnection(); try { PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); ResultSet rs = pstat.executeQuery(); rs.first(); rs.relative(startNo-1); int i = startNo-1; while(i < startNo + maxCount-1 && !rs.isAfterLast()){ System.out.println(rs.getInt(1)); i++; rs.next(); } } catch (SQLException e) { e.printStackTrace(); } }
願望本文所述對年夜家java法式設計有所贊助。