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

📄 pagebreak.java

📁 前不久作毕业设计的时候写的 用hql实现的分页 并且还有筛选、排序等功能。也许不够格但今天急需一个下载权限就上传了
💻 JAVA
字号:
/*
 * Created on 2005-8-4
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package qinyi.beans;



import java.util.ArrayList;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;

import qinyi.DB.HibernateUtil;



/**
 * @author 秦毅
 */
public class PageBreak{
    public static void main(String[] args) {
       
             
            
            PageBreak pagebreak = new PageBreak();
            pagebreak.setHql("from OrderDetails where news='iveu' ORDER BY 1 desc");
            
            
            //pagebreak.setCheckbox(new int[]{1,4,6,9});
            pagebreak.setCurrentPage(1);
            pagebreak.setPageSize(20);
            
            for(Object orderdetail:pagebreak.getResultlist())
            {
                System.out.println(((OrderDetails)orderdetail).getId()+"    "+((OrderDetails)orderdetail).getOrderId()+"    "+((OrderDetails)orderdetail).getNews());
            }
            
            for(Object orderdetail:pagebreak.getResultlist())
            {
                System.out.println(((OrderDetails)orderdetail).getId()+"    "+((OrderDetails)orderdetail).getOrderId()+"    "+((OrderDetails)orderdetail).getNews());
            }

       

    }
        
    private String hql;
    
    private int[] checkbox;
public int[] getCheckbox() {
        return checkbox;
    }


public void setCheckNull(){
    checkbox=null;
}
    private int currentPage = 1;
    private int realRowCount;
    private int pageSize = 20;
    private int rowCount;
    private List resultlist;
    public int getPageSize() {
       
        return pageSize;
    
    }


    /**
     * @return Returns the currentPage.
     */
    public int getCurrentPage() {
        
        if (currentPage > getPageCount())
            currentPage = getPageCount();
        if (currentPage < 1)
            currentPage = 1;
        if(getRowCount()==0)currentPage=0;
        return currentPage;
    }

    public int getNextPage(){
        int nextPage;
        nextPage = getCurrentPage() + 1;
        if (nextPage > getPageCount())
            nextPage = getPageCount();
        return nextPage;
    }


    /**
     * @return Returns the pageCount.
     */
    public int getPageCount(){
        int pageCount;
        pageCount = (int) Math.ceil((getRowCount() + pageSize - 1) / pageSize);
        return pageCount;
    }

    public void setCheckbox(int[] checkbox) {
        this.checkbox = checkbox;
    }

    public int getPreviousPage(){
        int previousPage;
        previousPage = getCurrentPage() - 1;
        if (previousPage < 1)
            previousPage = 1;
        return previousPage;
    }

    /**
     * @return Returns the rowCount.
     */
    public int getRowCount(){

            return rowCount;
       
    }

    /**
     * @param pageSize
     *            The pageSize to set.
     */
    public void setPageSize(int pageSize) {

        this.pageSize = pageSize;
    }

    public void setHql(String hql) {
        if(this.hql!=null&&hql.trim().equalsIgnoreCase(this.hql.trim()))
            return;
        System.out.println(this.hql);
        System.out.println(hql);
        this.hql = hql;
       Session session = HibernateUtil.currentSession();
       //Transaction tx = session.beginTransaction();

       //List pwd =session.find("select new User(customer.username,customer.password) from Customer customer");

       Query q = session.createQuery(this.hql);
       realRowCount=q.list().size();


       //tx.commit();

       session.close();
       HibernateUtil.closeSession();
            
       
    }

    public void setCurrentPage(int currentPage) {

        this.currentPage = currentPage;
        
        
    }


                public List getResultlist() {
                    
                    Session session = HibernateUtil.currentSession();
                    //Transaction tx = session.beginTransaction();

//                        List pwd =session.find("select new User(customer.username,customer.password) from Customer customer");

                    Query q = session.createQuery(hql);
                    q.setFirstResult(getFirstRow()-1);
                    q.setMaxResults(pageSize); 
                    resultlist = q.list();

                    //tx.commit();

                    session.close();
                    HibernateUtil.closeSession();
                        
                                               if(checkbox!=null)
                        {
                            List newlist=new ArrayList();
                            for(int i=0;i<checkbox.length;i++)
                                newlist.add(resultlist.get(checkbox[i]));
                            
                            
                            rowCount=newlist.size();
                            return newlist;
                        }
                                               else{
                                                   rowCount=realRowCount;
                        return resultlist;}
                        
                    
                    
                }

    /**
     * @return Returns the lastRow.
     */
    public int getLastRow(){
        int lastRow;
        if (checkbox == null) {
            lastRow = (getCurrentPage() - 1) * pageSize + pageSize;
            if (lastRow > getRowCount())
                lastRow = getRowCount();
        } else
            lastRow = checkbox[checkbox.length - 1];
        return lastRow;
    }
    public int getFirstRow() {
        int firstRow;
        if(getRowCount()==0)
            firstRow=0;
        else   firstRow = (getCurrentPage() - 1) * pageSize+1;
        return firstRow;
    }
}

⌨️ 快捷键说明

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