SELECT column FROM table LIMIT offset, count;
其中,offset是指跳过的行数,count是指每页显示的行数,column是指要查询的列,table是指要查询的表名。
假设要查询第3页,每页10行的数据,计算出跳过的行数为20(即2页*10行/页),则语句如下:
SELECT column FROM table LIMIT 20, 10;
在Java代码中使用分页查询,例如使用JDBC连接MySQL数据库查询第3页数据,代码如下:
public ListqueryPage(Connection conn, int pageNo, int pageSize) throws SQLException { String sql = "SELECT * FROM student LIMIT ?, ?"; PreparedStatement pstmt = conn.prepareStatement(sql); int start = (pageNo - 1) * pageSize; pstmt.setInt(1, start); pstmt.setInt(2, pageSize); ResultSet rs = pstmt.executeQuery(); Liststudents = new ArrayList(); while (rs.next()) { Student student = new Student(); student.setId(rs.getInt("id")); student.setName(rs.getString("name")); students.add(student); } return students; }
其中,使用PreparedStatement占位符设置跳过的行数和每页显示的行数,然后通过ResultSet获取查询结果,最后封装到List集合中返回。