dao 分页方法


  看看这个类很简单实用:
  public Map fenye(final Integer page, final Integer size) {
//总条数
List listSum = getHibernateTemplate().find("select count(*) from Emp");
int  sum  = Integer.parseInt(listSum.get(0).toString());
//总页数
int  count =(int) Math.ceil(1.0*sum/size);
//越界处理
final int page2 = page<1 ? 1: (page>count ? count :page);
//查
final String hql = "from Emp";
List  list = getHibernateTemplate().executeFind(new HibernateCallback(){

public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(hql);
if (page!=null && size!=null)
query.setFirstResult((page2-1)*size).setMaxResults(size);
               
return query.list();
}});

//保存map
Map map = new HashMap();
map.put("page", page2);
map.put("size", size);
map.put("count", count);
map.put("list", list);


return map;
}

你可能感兴趣的:(DAO)