⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pagination.java

📁 jsp实现网络教育系统
💻 JAVA
字号:
package org.jetic.web;import java.sql.ResultSet;import java.sql.Statement;/** * Title:        经天科技 * Description: * Copyright:    Copyright (c) 2001 * Company:      www.jetic.org 经天 * @author hover * @version 1.0 */public class Pagination {    private Statement stmt;    private String sql = "";    private String table = "";    private String fields = "";    private int recordcount = 0;    private int pagesize = 10;    private int pagecount = 0;    private int page = 1;    private String condition = "";    private boolean direction = true;    public Pagination() {    }    public Pagination(int pagesize) {        setPagesize(pagesize);    }    public Pagination(Statement stmt) {        setStmt(stmt);    }    public String getSql() {        String strCondition = "";        String order1, order2;        if (condition.length() > 0) strCondition = " WHERE " + condition;        // 计算页数        sql = "SELECT COUNT(*) FROM " + table + strCondition;        try {            ResultSet rs = stmt.executeQuery(sql);            if (rs.next())  recordcount = rs.getInt(1);            rs.close();        }        catch (Exception ex) {            ex.printStackTrace(System.err);        }        if (recordcount < 1)            pagecount = 0;        else            pagecount = (recordcount - 1) / pagesize + 1;        if (page < 1)            page = 1;        else if (page > pagecount)            page = pagecount;        if (direction) {            order1 = " ORDER BY [ID]";            order2 = " ORDER BY [ID] DESC";        }        else {            order1 = " ORDER BY [ID] DESC";            order2 = " ORDER BY [ID]";        }        if (page == 1) {            sql = "SELECT TOP " + pagesize + " [ID]" + fields + " FROM " + table +                strCondition + order1;        }        else if (page == pagecount) {            /*            顺序:            SELECT ... FROM (table) WHERE [ID] IN            (SELECT TOP rest [ID] FROM (table) ORDER BY [ID] DESC)            ORDER BY [ID]            */            int rest;   // 最后一页记录数            rest = recordcount % pagesize;            if (rest == 0)  rest = pagesize;            sql =                "SELECT [ID]" + fields + " FROM " + table + " WHERE [ID] IN " +                "(SELECT TOP " + rest + " [ID] FROM " + table + order2 + ") " +                order1;        }        else {            /*            顺序:            SELECT ... FROM (table) WHERE [ID] IN            (SELECT TOP (pagesize) [ID] FROM (table) WHERE [ID] IN            (SELECT TOP (pagesize * page) [ID] FROM (table) WHERE (condition) ORDER BY [ID])            ORDER BY [ID] DESC)            ORDER BY [ID]            反序:            SELECT ... FROM (table) WHERE ID IN            (SELECT TOP (pagesize) ID FROM (table) WHERE ID IN            (SELECT TOP (pagesize * page) ID FROM (table) ORDER BY ID DESC)            ORDER BY ID)            ORDER BY ID DESC            */            sql =                "SELECT [ID]" + fields + " FROM " + table + " WHERE [ID] IN " +                "(SELECT TOP " + pagesize + " [ID] FROM " + table + " WHERE [ID] IN " +                "(SELECT TOP " + (pagesize * page) + " [ID] FROM " + table +                strCondition  + order1 + ")" + order2 + ")" + order1;        }        return sql;    }    public String getSql(String table) {        this.table = table;        return getSql();    }    public String getSql(int page) {        this.page = page;        return getSql();    }    public String getSql(String table, int page) {        this.table = table;        this.page = page;        return getSql();    }    public String getSql(String table, String condition) {        this.table = table;        this.condition = condition;        return getSql();    }    public String getSql(String table, String condition, int page) {        this.table = table;        this.condition = condition;        this.page = page;        return getSql();    }    public void setTable(String newTable) {        table = newTable;    }    public String getTable() {        return table;    }    public int getRecordcount() {        return recordcount;    }    public void setPagesize(int newPagesize) {        pagesize = newPagesize;    }    public int getPagesize() {        return pagesize;    }    public int getPagecount() {        return pagecount;    }    public void setPage(int newPage) {        page = newPage;    }    public int getPage() {        return page;    }    public void setCondition(String newCondition) {        condition = newCondition;    }    public String getCondition() {        return condition;    }    public void setStmt(Statement newStmt) {        stmt = newStmt;    }    public Statement getStmt() {        return stmt;    }    public void setFields(String newFields) {        fields = newFields;    }    public void setFields(String[] newFields) {        fields = "";        for (int i = 0; i < newFields.length; i++) {            fields += "," + newFields[i];        }    }    public String getFields() {        return fields;    }    public void setDirection(boolean newDirection) {        direction = newDirection;    }    public boolean isDirection() {        return direction;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -