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】

posted @ 2018-01-04 22:11  小蘇  阅读(1368)  评论(0编辑  收藏  举报