jdbc结合sqlserver的javaWeb工程的分页查询共通操作代码

搜索这个标题找到一篇文章:

适用所有使用jdbc结合sqlserver的javaWeb工程的分页查询共通操作代码

http://alexlsg.iteye.com/blog/700015


看了之后,试运行了一下。发现不可以用。

原因:row_number()是sql2005及以后版本的函数。而sql2000是没有的。

故此重新梳理了一下。


1、分页查询时需要用到的分页信息实体类 




import java.io.Serializable;


/** 
 * 适用于所有的使用jdbc结合sqlserver的web工程 
 *  
 * 
 * @author ycglei886 
 */  
public class PageInfo implements Serializable {  
    private static final long serialVersionUID = 7126509565385142115L;  
      
    /** 
     * 记录总数(该属性由PageSearchUtil设置) 
     *  
     */  
    private int recordCount;  
      
    /** 
     * 每页面最大记录数(该属性在传入PageSearchUtil的getPageResultSet方法之前需要设置) 
     *  
     */  
    private int pageSize;  
      
    /** 
     * 总页数(该属性由本类的compute方法计算得出) 
     *  
     */  
    private int pageCount;  
      
    /** 
     * 每部分页数(假如总共有100页,那么我们不可能将100页的页码都显示在页面上,只能部分部分的显示,该属性就是设置部分显示多少页的) 
     *  该属性与compute方法无关,在PageSearchUtil中也不会用到,但我们在页面上会用到 
     */  
    private int partPageCount = 10;  
      
    /** 
     * 当前是第几页(该属性在传入PageSearchUtil的getPageResultSet方法之前需要设置) 
     *  
     */  
    private int currentPage;  
      
    /** 
     * 开始记录数(该属性由本类的compute方法计算得出) 
     *  
     */  
    private int startRecord;  
      
    /** 
     * 结束记录数(该属性由本类的compute方法计算得出) 
     *  
     */  
    private int endRecrod;  
  
    public int getCurrentPage() {  
        return currentPage;  
    }  
  
    public void setCurrentPage(int currentPage) {  
        this.currentPage = currentPage;  
    }  
  
    public int getEndRecrod() {  
        return endRecrod;  
    }  
  
    public int getPageCount() {  
        return pageCount;  
    }  
      
    public int getPartPageCount() {  
        return partPageCount;  
    }  
  
    public void setPartPageCount(int partPageCount) {  
        this.partPageCount = partPageCount;  
    }  
  
    public int getPageSize() {  
        return pageSize;  
    }  
  
    public void setPageSize(int pageSize) {  
        this.pageSize = pageSize;  
    }  
  
    public int getRecordCount() {  
        return recordCount;  
    }  
  
    public void setRecordCount(int recordCount) {  
        this.recordCount = recordCount;  
    }  
  
    public int getStartRecord() {  
        return startRecord;  
    }  
  
    public PageInfo() {  
    }  
  
    /** 
     * 通过recordCount、pageSize、currentPage三个属性值来计算本对象中所有属性的值 
     *  
     * 
     */  
    public void compute() {  
        if (recordCount == 0 || pageSize == 0) {  
            pageCount = 0;  
            startRecord = 0;  
            endRecrod = 0;  
            currentPage = 0;  
        } else {  
            pageCount = (recordCount + pageSize - 1) / pageSize;  
            if (currentPage <= 0) {  
                currentPage = 1;  
            }  
            if (currentPage > pageCount) {  
                currentPage = pageCount;  
            }  
            startRecord = (currentPage - 1) * pageSize + 1;  
            int endRecrodTemp = startRecord + pageSize - 1;  
            if (endRecrodTemp <= recordCount) {  
                endRecrod = endRecrodTemp;  
            } else {  
                endRecrod = recordCount;  
            }  
        }  
    }  
  
}  

2、分页查询共通操作类 

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


import javax.servlet.http.HttpServletRequest;
  
  
/** 
 * 分页查询共通操作类 分页查询的思路是每页的数据分别进行查询,而不是将全部数据查询出来之后再分页 
 *  
 * @author ycglei886 
 * 创建时间:2010/5/20 
 * @version 1.0 
 */  
public class PageSe

你可能感兴趣的:(sqlserver,jdbc,string,null,sql,数据库)