ResultSet获取记录条数
JDBC中的ResultSet API没有直接获取记录条数的方法,现在介绍几个可以获得结果集记录条数的方法。
给定下面的代码,想要获取查询结果集的记录条数
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的总行数
ResultSet rs = st.executeQuery("select * from worker"); rs.last(); // 将光标移动到最后一行 int rowCount = rs.getRow(); // 得到当前行号,即结果集记录数
PS:如果还要用结果集,就把指针再移到初始化的位置 rs.beforeFirst();
方法二:利用循环ResultSet的元素来获得ResultSet的总行数
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/32370659