Spring Hibernate 模板实现分页

public  List find( final  String hsql,  final   int  firstRow,  final   int  maxRow)  throws  Exception { 
  
return  getHibernateTemplate().executeFind( new
 HibernateCallback() { 
     public  Object doInHibernate(Session s)  throws
 HibernateException, SQLException { 
           Query query 
=
 s.createQuery(hsql); 
           query.setFirstResult(firstRow); 
           query.setMaxResults(maxRow); 
           List list 
=
 query.list(); 
           return
 list; 
           } 
     }); 
}

 

 

Spring+hibernate 查询对象总数

有两种形式,一是HQL查询,二是QBC查询

 

 public int getPersonalcarCount(){
    int count=0;
       String sqls = "select count(*) as countRow from UsedPersonalcar u";
       SQLQuery query = getHibernateTemplate().getSessionFactory().getCurrentSession      ().createSQLQuery(sqls);
       query.addScalar("countRow", Hibernate.INTEGER);
       List topList = query.list();
       if (topList.get(0) != null)
          count = (Integer) topList.get(0);
       return count;

   }
  
   public int getPersonalcarCountByCriteria() {
     final DetachedCriteria detachedCriteria=DetachedCriteria.forClass(UsedPersonalcar.class);
  Integer count = (Integer) getHibernateTemplate().execute(new HibernateCallback() {
   public Object doInHibernate(Session session) throws HibernateException {
    Criteria criteria = detachedCriteria.getExecutableCriteria(session);
    return criteria.setProjection(Projections.rowCount()).uniqueResult();
   }
  }, true);
  return count.intValue();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值