zoukankan      html  css  js  c++  java
  • sql server和mysql中分别实现分页功能

     MySQL

    在MySQL中,可以用 Limit 来查询第 m 列到第 n 列的记录,

    例如: select * from tablename limit m, n

    sql="select * from users order by userId limit "+(pageNow-1)*pageSize+","+pageSize ; 

    获取分页后每页的数据:

    //分页显示用户的 信息
    public ArrayList getUsersByFenye(int pageSize,int pageNow){
    
    String sql="select * from users order by userId limit "+(pageNow-1)*pageSize+","+pageSize ;
    SqlHelper sqlHelper=new SqlHelper();
    ArrayList al=new ArrayList();
    ResultSet rs=sqlHelper.executeQuery(sql, null);
    try {
    while(rs.next()){
    User user=new User();
    user.setUserId(rs.getInt(1));
    user.setUsername(rs.getString(2));
    user.setPassword(rs.getString(3));
    user.setPhone(rs.getString(4));
    user.setGrade(rs.getInt(5));	
    al.add(user);
    }
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return al;
    }
    

      

    获取总页数:

    public int getPageCount (int pageSize){
    String sql="select count(*) from users";
    int pageCount=0;	
    SqlHelper sqlHelper=new SqlHelper();
    ResultSet rs=sqlHelper.executeQuery(sql, null);
    try {
    if(rs.next()){
    int rowCount=0;
    rowCount=rs.getInt(1);
    pageCount=(rowCount-1)/pageSize+1;
    }
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return pageCount;
    }  

    SQL Server

    但是,在SQL Server中,不支持 Limit 语句。怎么办呢?
    解决方案:
    虽然SQL Server不支持 Limit ,但是它支持 TOP

     ps=ct.prepareStatement("select top "+pageSize+" * from users where userId not in (select top "+pageSize*(pageNow-1)+" userId from users)");

  • 相关阅读:
    在Spring 中如果Girl要Kiss Boy咋办捏?
    对象的序列化
    HibernateHQL
    Struts 动态FORM实现过程
    对struts一点理解总结
    Hibernate Query Language(HQL)。
    Hibernate中Inverse和Cascade
    Spring 中的内部bean 和集合
    设计模式到底离我们有多远
    Aspx页面转静态页面
  • 原文地址:https://www.cnblogs.com/xiangkejin/p/5796374.html
Copyright © 2011-2022 走看看