MySQL数据库分页
1、LIMIT( [ offset ] , rows )函数
offset:可选参数,指定要返回的第一行的偏移量。开始行的偏移量是0.
rows:指定要返回行的数目。
如果只给定一个参数,则表示指定偏移量为0的返回行的最大数目。表达式limit(5)与表达式limit(0,5)是等价的。
2、获取分页数据
可以通过给定LIMIT第一个参数为 “(页数-1)*每页显示记录数”、第二个参数为 ”每页显示记录数“ 来获取分页数据
package mysql; import java.sql.*; public class PageLimit { public static void findOrder(int page,int pageSize){ String sql = "select * from task_pool order by id limit "+(page-1)*pageSize+","+pageSize; Connection conn = null; Statement stmt = null; ResultSet rs = null; try{ Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dw_test_conf","root","******"); stmt = conn.createStatement(); rs = stmt.executeQuery(sql); while(rs.next()){ String id = rs.getString("id"); String task_name = rs.getString("task_name"); System.out.println("id:"+id+"---"+"task_name:"+task_name); } }catch (Exception e){ e.printStackTrace(); }finally { try { if(rs!=null){ rs.close(); } if (stmt!=null){ stmt.close(); } if (conn!=null){ conn.close(); } }catch (SQLException e){ e.printStackTrace(); } } } public static void main(String[] args) { findOrder(1,5); } }
3、获取总页数
总页数=总记录数/每页显示的记录数
但如果“总记录数/每页显示的记录数”如果有余数时,则需将总页数+1。然而在编写程序时无法准确地判断是否有余数,此时可以将该公式修改为【总页数=(总记录数-1)/每页显示的记录数+1】