ResultSet获得总行数的方法

【方法一】利用ResultSet的getRow方法来获得ResultSet的总行数

Connection conn = null;
		Statement sta = null;
		ResultSet rs = null;
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123");
			sta = conn.createStatement();
			rs = sta.executeQuery("select * from test");
			rs.last();
			int row = rs.getRow();
			System.out.println("行数为:"+row);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

【方法二】利用循环ResultSet的元素来获得ResultSet的总行数
Connection conn = null;
		Statement sta = null;
		ResultSet rs = null;
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123");
			sta = conn.createStatement();
			rs = sta.executeQuery("select * from test");
			int row = 0;
			while(rs.next()){
				row++;
			}
			System.out.println("行数为:"+row);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

【方法三】利用sql语句中的count函数获得ResultSet的总行数

Connection conn = null;
		Statement sta = null;
		ResultSet rs = null;
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123");
			sta = conn.createStatement();
			rs = sta.executeQuery("select count(*) totleRows from test");
			int row = 0;
			while(rs.next()){
				row = rs.getInt("totleRows");
			}
			System.out.println("行数为:"+row);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}


原文地址:https://www.cnblogs.com/itmyhome/p/4131591.html