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

📄 pagetool.java

📁 hibernate应用测试,初学hibernate 的会员可以看看.
💻 JAVA
字号:
package com.tool.pagetool;

import java.util.List;
import java.sql.SQLException;

public class PageTool {
    private PageDAO DAO;
    private int rowNum;
    public PageTool(){};
    public PageTool(PageDAO DAO){
        this.DAO = DAO;
//        try {
//            this.rowNum = DAO.selectCount();
//        } catch (SQLException ex) {
//            ex.printStackTrace();
//        }
    }

    //普通的分页
    public Page createPage(int currentPage, int size) throws SQLException {
        Page page = new Page();
        page.setCurrentPage(currentPage);
        page.setSize(size);
        page.setBegin(this.getPageBegin(currentPage, size));
        page.setEnd(this.getPageEnd(currentPage, size));
        try {
            page.setPage(DAO.selectForPage(page));
            page.setRowNum(DAO.selectCount());
            page.setPageCount(this.getPageCount(page.getRowNum(), size));
            page.setNextPage(page.getPageCount() <= currentPage ?
                             page.getPageCount() : currentPage + 1);
            page.setPreviertPage(currentPage <= 1 ? 1 : currentPage - 1);
        } catch (SQLException e) {
            e.printStackTrace();
            throw e;
        } finally {
            DAO.rollback();
        }

        return page;
    }

    //支持动态查询的分页
    //queryStr 为sql查询语句的where部分
    public Page createPage(int currentPage, int size,String queryStr) throws SQLException {
        Page page = new Page();
        page.setCurrentPage(currentPage);
        page.setSize(size);
        page.setQueryStr(queryStr);
        page.setBegin(this.getPageBegin(currentPage, size));
        page.setEnd(this.getPageEnd(currentPage, size));
        try {
            page.setPage(DAO.selectForPage(page));
            page.setRowNum(DAO.selectCount(page));
            page.setPageCount(this.getPageCount(page.getRowNum(), size));
            page.setNextPage(page.getPageCount() <= currentPage ?
                             page.getPageCount() : currentPage + 1);
            page.setPreviertPage(currentPage <= 1 ? 1 : currentPage - 1);
        } catch (SQLException e) {
            e.printStackTrace();
            throw e;
        } finally {
            DAO.rollback();
        }
        return page;
    }

    public int getPageEnd(int currentPage,int size){
        int pageEnd = currentPage*size;
        return pageEnd;

    }
    private int getPageBegin(int currentPage,int size){
        int pageBegin = 1;
        if(currentPage>0)
            pageBegin=(currentPage-1)*size;
        return pageBegin;
    }
    private int getPageCount(int rowNum,int size){
        int pageCount = 0;
        if(rowNum%size==0) pageCount = rowNum/size;
        else pageCount = rowNum/size+1;
        return pageCount;
    }
}

⌨️ 快捷键说明

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