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