package com.lst.lc.page; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Query; import org.hibernate.criterion.Projections; import org.springframework.stereotype.Repository; import com.lst.lc.dao.impl.BaseDao; @Repository("pageDao") public class PageDao extends BaseDao { /** * 创建Criteria对象 * @param c * @return */ public <T> Criteria getCriteria(Class<T> c) { return getSession().createCriteria(c); } public <T> long getTotalRowCount(Class<T> c) { return (long) getCriteria(c).setProjection(Projections.rowCount()) .uniqueResult(); } public <T> List<T> getPageList(int pageSize, int pageNow, Class<T> c){ Criteria criteria = getCriteria(c); criteria.setFirstResult((pageNow-1)*pageSize); criteria.setMaxResults(pageSize); List<T> list = criteria.list(); System.out.println("list" + list.size()); return list; } public <T> List<T> getPageList(int pageSize, int pageNow, Query query){ query.setFirstResult((pageNow-1)*pageSize); query.setMaxResults(pageSize); List<T> list = query.list(); System.out.println("list" + list.size()); return list; } }