?? pages.java
字號:
package dao;
import java.util.*;
import org.hibernate.*;
import factory.*;
public class Pages {
private int pageSize;// 頁大小
private int pageCount;// 總頁數
private int recordSize;// 記錄數
private String hql;
public Pages(String hql, int pageSize) {
this.hql = hql;
this.pageSize = pageSize;
this.setPageCount();
}
public int getPageCount() {
return pageCount;
}
// 設置總頁數。
public void setPageCount() {
Session session = HibernateSessionFactory.getSession();
Transaction tx = null;
List list = null;
try {
tx = session.beginTransaction();
Query query = session.createQuery(hql);
list = query.list();
tx.commit();
} catch (Exception e) {
if (tx != null)
tx.rollback();
System.out.print(e);
} finally {
session.close();
}
// 設置記錄數
if (list.isEmpty())
recordSize = 0;
else
recordSize = list.size();
// 計算總頁數
pageCount = recordSize % pageSize == 0 ? recordSize / pageSize
: (recordSize / pageSize + 1);
}
// 返加記錄
public List getRecord(int nowPage/* 當前頁數 */) {
if (nowPage < 0 || nowPage > pageCount)
System.out.println("頁碼超出范圍");
Session session = HibernateSessionFactory.getSession();
Transaction tx = null;
List list = null;
try {
tx = session.beginTransaction();
Query query = session.createQuery(hql);
query.setFirstResult((nowPage - 1) * pageSize);
query.setMaxResults(pageSize);
list = query.list();
tx.commit();
} catch (Exception e) {
if (tx != null)
tx.rollback();
System.out.print(e);
} finally {
session.close();
}
return list;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -