package tree.bean;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import tree.HibernateUtil;
public class Pagination
...{
int page = 0;
int size = 0;
String keyword = null;
public Pagination()
...{
}
public Pagination(int page,int size,String keyword)
...{
this.page=page;
this.size=size;
this.keyword=keyword;
}
private Session session = null;
private Transaction tx = null;
public Integer ALLinfornum()
...{
String hql = "select count(*) from contentbean in class tree.bean.ContentBean where isChecked =1 and title like :title";
int count = 0;
try
...{
session= HibernateUtil.currentSession_mysql();
tx=session.beginTransaction();
Query query = session.createQuery(hql);
query.setString("title","%"+keyword+"%");
count = (int)((Long)query.iterate().next()).longValue();
tx.commit();
}
catch(HibernateException e)
...{
HibernateUtil.Log(this.getClass().getName(),e.getMessage());
System.out.println("error_message::"+e.getMessage());
}
catch(Exception ee)
...{
System.out.println(ee.getMessage());
}
finally
...{
HibernateUtil.closeSession_mysql();
}
return count;
}
public List partinfor()
...{
List list = null;
String hql = "from contentbean in class tree.bean.ContentBean where isChecked =1 and title like :title order by addTime";
try
...{
session = HibernateUtil.currentSession_mysql();
Query query = session.createQuery(hql);
query.setString("title","%"+keyword+"%");
query.setFirstResult(page*size);
query.setMaxResults(size);
list = query.list();
}
catch(HibernateException e)
...{
HibernateUtil.Log(this.getClass().getName(),e.getMessage());
System.out.println(e.getMessage());
}
finally
...{
HibernateUtil.closeSession_mysql();
}
return list;
}
public int ALLpage(int maxRowCount)
...{
int maxPage;
if(maxRowCount%size==0)
...{
maxPage=maxRowCount/size;
}
else
...{
maxPage=maxRowCount/size+1;
}
return maxPage;
}
}
本文介绍了一个基于Hibernate的Java分页查询实现方法,通过构造特定的HQL查询语句,实现了根据关键字进行模糊搜索并返回指定页数的数据记录。
1063

被折叠的 条评论
为什么被折叠?



