1、 setStartIndex(startIndex); public PaginationSupport(List items, int totalCount, int pageSize, int startIndex) setPageSize(pageSize); public List getItems() return items; public void setItems(List items) this.items = items; public int getPageSize() return pageSize; public void setPageSize(int pageSi
2、ze) this.pageSize = pageSize; public int getTotalCount() return totalCount; public void setTotalCount(int totalCount) if (totalCount > 0) this.totalCount = totalCount; int count = totalCount / pageSize; if (totalCount % pageSize & 0) count+; indexes = new intcount; for (int i = 0; i < coun
3、t; i+) indexesi = pageSize * i; else this.totalCount = 0; public int getIndexes() return indexes; public void setIndexes(int indexes) this.indexes = indexes; public int getStartIndex() return startIndex; public void setStartIndex(int startIndex) = 0) this.startIndex = 0; else if (startIndex &= total
4、Count) this.startIndex = indexesindexes.length - 1; else this.startIndex = indexesstartIndex / pageSize; public int getNextIndex() int nextIndex = getStartIndex() + pageSize; if (nextIndex & return getStartIndex(); else return nextIndex; public int getPreviousIndex() int previousIndex = getStartInde
5、x() - pageSize; if (previousIndex & return 0; return previousIndex; public class PaginationSupport public final static int PAGESIZE = 30;private int pageSize = PAGESIZE;private List items;private int totalCount;private int indexes = new int0;private int startIndex = 0;public PaginationSupport(List i
6、tems, int totalCount) setPageSize(PAGESIZE);setTotalCount(totalCount);setItems(items);setStartIndex(0);public PaginationSupport(List items, int totalCount, int startIndex) setStartIndex(startIndex);public PaginationSupport(List items, int totalCount, int pageSize, int startIndex) setPageSize(pageSiz
7、e);public List getItems() return items;public void setItems(List items) this.items = items;public int getPageSize() return pageSize;public void setPageSize(int pageSize) this.pageSize = pageSize;public int getTotalCount() return totalCount;public void setTotalCount(int totalCount) if (totalCount & 0
8、) this.totalCount = totalCount;int count = totalCount / pageSize;if (totalCount % pageSize & 0)count+;indexes = new intcount;for (int i = 0; i+) indexesi = pageSize * i; else this.totalCount = 0;public int getIndexes() return indexes;public void setIndexes(int indexes) this.indexes = indexes;public
9、int getStartIndex() return startIndex;public void setStartIndex(int startIndex) = 0)this.startIndex = 0;else if (startIndex &= totalCount)this.startIndex = indexesindexes.length - 1;else this.startIndex = indexesstartIndex / pageSize;public int getNextIndex() int nextIndex = getStartIndex() + pageSi
10、ze;if (nextIndex &return getStartIndex();elsereturn nextIndex;public int getPreviousIndex() int previousIndex = getStartIndex() - pageSize;if (previousIndex &return 0;return previousIndex;抽象业务类 Java代码 /* * Created on 2005-7-12 */ package mon.business;import java.io.Serializable;import org.hibernate.
11、Criteria;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.criterion.DetachedCriteria;import org.hibernate.criterion.Projections;import org.springframework.orm.hibernate3.HibernateCallback;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;i
12、mport mon.util.PaginationSupport;public abstract class AbstractManager extends HibernateDaoSupport private boolean cacheQueries = false; private String queryCacheRegion; public void setCacheQueries(boolean cacheQueries) this.cacheQueries = cacheQueries; public void setQueryCacheRegion(String queryCa
13、cheRegion) this.queryCacheRegion = queryCacheRegion; public void save(final Object entity) getHibernateTemplate().save(entity); public void persist(final Object entity) public void update(final Object entity) getHibernateTemplate().update(entity); public void delete(final Object entity) getHibernate
14、Template().delete(entity); public Object load(final Class entity, final Serializable id) return getHibernateTemplate().load(entity, id); public Object get(final Class entity, final Serializable id) return getHibernateTemplate().get(entity, id); public List findAll(final Class entity) return getHiber
15、nateTemplate().find(from + entity.getName(); public List findByNamedQuery(final String namedQuery) return getHibernateTemplate().findByNamedQuery(namedQuery); public List findByNamedQuery(final String query, final Object parameter) return getHibernateTemplate().findByNamedQuery(query, parameter); pu
16、blic List findByNamedQuery(final String query, final Object parameters) return getHibernateTemplate().findByNamedQuery(query, parameters); public List find(final String query) return getHibernateTemplate().find(query); public List find(final String query, final Object parameter) return getHibernateT
17、emplate().find(query, parameter); public PaginationSupport findPageByCriteria(final DetachedCriteria detachedCriteria) return findPageByCriteria(detachedCriteria, PaginationSupport.PAGESIZE, 0); public PaginationSupport findPageByCriteria(final DetachedCriteria detachedCriteria, final int startIndex
18、) return findPageByCriteria(detachedCriteria, PaginationSupport.PAGESIZE, startIndex); public PaginationSupport findPageByCriteria(final DetachedCriteria detachedCriteria, final int pageSize, final int startIndex) return (PaginationSupport) getHibernateTemplate().execute(new HibernateCallback() publ
19、ic Object doInHibernate(Session session) throws HibernateException Criteria criteria = detachedCriteria.getExecutableCriteria(session); int totalCount = (Integer) criteria.setProjection(Projections.rowCount().uniqueResult().intValue(); criteria.setProjection(null); List items = criteria.setFirstResu
20、lt(startIndex).setMaxResults(pageSize).list(); PaginationSupport ps = new PaginationSupport(items, totalCount, pageSize, startIndex); return ps; , true); public List findAllByCriteria(final DetachedCriteria detachedCriteria) return (List) getHibernateTemplate().execute(new HibernateCallback() return
21、 criteria.list(); public int getCountByCriteria(final DetachedCriteria detachedCriteria) Integer count = (Integer) getHibernateTemplate().execute(new HibernateCallback() return criteria.setProjection(Projections.rowCount().uniqueResult(); return count.intValue();/* Created on 2005-7-12*/public abstr
22、act class AbstractManager extends HibernateDaoSupport private boolean cacheQueries = false;private String queryCacheRegion;public void setCacheQueries(boolean cacheQueries) this.cacheQueries = cacheQueries;public void setQueryCacheRegion(String queryCacheRegion) this.queryCacheRegion = queryCacheRegion;public void save(final Object enti
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1