JDBC中的ResultSet API沒有直接獲取記錄條數的方法,如今介紹幾個能夠得到結果集記錄條數的方法。mysql
給定下面的代碼,想要獲取查詢結果集的記錄條數sql
Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/sampledb"; Connection conn = DriverManager.getConnection(url, "root", "root"); Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("select * from worker");
方法一:利用ResultSet的getRow方法來得到ResultSet的總行數url
ResultSet rs = st.executeQuery("select * from worker"); rs.last(); // 將光標移動到最後一行 int rowCount = rs.getRow(); // 獲得當前行號,即結果集記錄數
PS:若是還要用結果集,就把指針再移到初始化的位置 rs.beforeFirst();spa
方法二:利用循環ResultSet的元素來得到ResultSet的總行數 .net
ResultSet rs = st.executeQuery("select * from worker"); int rowCount = 0; while(rs.next()) { rowCount++; }
方法三:利用SQL語句來查詢指針
String sql = "select count(*) rec from (select * from worker) ww"; ResultSet rs = st.executeQuery(sql); int rowCount = 0; while (rs.next()) { rowCount = rs.getInt("rec"); }
原文連接:https://blog.csdn.net/magi1201/article/details/32370659code