Hibernate的查詢分頁 by Criteria

當初學Hibernate的時候,帶個人那我的說要學好Hibernate的hql語句,沒有就沒有QBC當作一會事兒前端

後來作項目的時候發現QBC仍是蠻強大的this

一般作分頁都會講一些數據封裝到PageBean中,spa

        private int currentPage;//定義當前頁
        private int pageSize;//定義頁面大小
        private int total;//總紀錄數
        private List rows;//返回數據
        private DetachedCriteria detachedCriteria;//Criteria離線查詢接口接口

        private int start//查詢的起始值 將get的返回值設置爲 (currentPage-1)*pageSize ci

在Dao層添加實現get

public void pageQuery(PageBean pageBean){it

//在請求頁面發起時 前端會傳來一個 頁數 頁面大小和相關的查詢條件設置給pageBeanio

//咱們能夠首先獲取前端傳來的參數table

int currentPage=pageBean.getCurrentPage();List

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);

}

相關文章
相關標籤/搜索