📄 pagebreak.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 + -