利用Hibernate 使用QUC分页
其简单得功能为:
1.通过输入第一条数据的位置和每页现实的数据来确定数据
2.并可以通过输入页数来显示各个页数的数据
程序主要代码:
public void testPageQuery(){
SessionFactory sf = null;
Session session0 = null;
Transaction tx = null;
try {
while(true){
sf = HibernateUtil.getSessionFactory();
session0 = sf.getCurrentSession();
tx = session0.beginTransaction();
Criteria criteria = session0.createCriteria(User.class);
System.out.println("请分别输入第一条数据的位置和一页显示的数据个数:");
Scanner sc = new Scanner(System.in);
Scanner sc1 = new Scanner(System.in);
int firstD = sc.nextInt();
int maxR = sc1.nextInt();
criteria.setFirstResult(firstD);
criteria.setMaxResults(maxR);
List<?> users = criteria.list();
for(int i =0;i<users.size();i++){
User u = (User)users.get(i);
System.out.println("姓名: " + u.getName() + "性别: "
+ u.getGender() + "年龄" + u.getAge());
}
System.out.println("请输入你要跳转的页面:");
Scanner sc2 = new Scanner(System.in);
int pageNum = sc2.nextInt();
int firstData = firstD + pageNum * maxR;
criteria.setFirstResult(firstData);
criteria.setMaxResults(maxR);
List<?> users1 = criteria.list();
for(int i =0;i<users1.size();i++){
User u = (User)users1.get(i);
System.out.println("姓名: " + u.getName() + "性别: "
+ u.getGender() + "年龄" + u.getAge());
}
tx.commit();
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
tx.rollback();
}finally{
session0.close();
sf.close();
}
}
原文地址:http://blog.51cto.com/11156310/2106048
时间: 2024-11-04 03:53:07