当初学Hibernate的时候,带我的那个人说要学好Hibernate的hql语句,没有就没有QBC当做一会事儿
后来做项目的时候发现QBC还是蛮强大的
通常做分页都会讲一些数据封装到PageBean中,
private int currentPage;//定义当前页 private int start//查询的起始值 将get的返回值设置为 (currentPage-1)*pageSize |
在Dao层添加实现
public void pageQuery(PageBean pageBean){
//在请求页面发起时 前端会传来一个 页数 页面大小和相关的查询条件设置给pageBean
//我们可以首先获取前端传来的参数
int currentPage=pageBean.getCurrentPage();
int pageSize=pageBean.getPageSize();
DetachedCriteria detachedCriteria=pageBean.getDetachedCriteria();
//我们可以通过前端传来的值 获取相应条件下的总纪录数
detachedCriteria.setProjection(Projections.rowCount());
List<Long> total=this.getHibernateTmplate().findByCriteria(detachedCriteria);
pageBean.setCount(total.get(0).intvalue());
//
detachedCriteria.setProjection(null);
List rows=this.getHibernateTemplate().findByCriteria(detachedCriteria,pageBean.getStart(),pageBean.getPageSize());
pageBean.setRows(rows);
}
来源:oschina
链接:https://my.oschina.net/u/3703874/blog/1557870