应用Hibernate3的DetachedCriteria实现分页查询Word格式.docx

上传人:b****8 文档编号:22300123 上传时间:2023-02-03 格式:DOCX 页数:18 大小:16.61KB
下载 相关 举报
应用Hibernate3的DetachedCriteria实现分页查询Word格式.docx_第1页
第1页 / 共18页
应用Hibernate3的DetachedCriteria实现分页查询Word格式.docx_第2页
第2页 / 共18页
应用Hibernate3的DetachedCriteria实现分页查询Word格式.docx_第3页
第3页 / 共18页
应用Hibernate3的DetachedCriteria实现分页查询Word格式.docx_第4页
第4页 / 共18页
应用Hibernate3的DetachedCriteria实现分页查询Word格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

应用Hibernate3的DetachedCriteria实现分页查询Word格式.docx

《应用Hibernate3的DetachedCriteria实现分页查询Word格式.docx》由会员分享,可在线阅读,更多相关《应用Hibernate3的DetachedCriteria实现分页查询Word格式.docx(18页珍藏版)》请在冰豆网上搜索。

应用Hibernate3的DetachedCriteria实现分页查询Word格式.docx

setStartIndex(startIndex);

publicPaginationSupport(Listitems,inttotalCount,intpageSize,intstartIndex){

setPageSize(pageSize);

publicListgetItems(){

returnitems;

publicvoidsetItems(Listitems){

this.items=items;

publicintgetPageSize(){

returnpageSize;

publicvoidsetPageSize(intpageSize){

this.pageSize=pageSize;

publicintgetTotalCount(){

returntotalCount;

publicvoidsetTotalCount(inttotalCount){

if(totalCount&

amp;

gt;

0){

this.totalCount=totalCount;

intcount=totalCount/pageSize;

if(totalCount%pageSize&

0)

count++;

indexes=newint[count];

for(inti=0;

i&

lt;

count;

i++){

indexes[i]=pageSize*i;

}else{

this.totalCount=0;

publicint[]getIndexes(){

returnindexes;

publicvoidsetIndexes(int[]indexes){

this.indexes=indexes;

publicintgetStartIndex(){

returnstartIndex;

publicvoidsetStartIndex(intstartIndex){

=0)

this.startIndex=0;

elseif(startIndex&

=totalCount)

this.startIndex=indexes[indexes.length-1];

else{

this.startIndex=indexes[startIndex/pageSize];

publicintgetNextIndex(){

intnextIndex=getStartIndex()+pageSize;

if(nextIndex&

returngetStartIndex();

else

returnnextIndex;

publicintgetPreviousIndex(){

intpreviousIndex=getStartIndex()-pageSize;

if(previousIndex&

return0;

returnpreviousIndex;

}

publicclassPaginationSupport{

publicfinalstaticintPAGESIZE=30;

privateintpageSize=PAGESIZE;

privateListitems;

privateinttotalCount;

privateint[]indexes=newint[0];

privateintstartIndex=0;

publicPaginationSupport(Listitems,inttotalCount){

setPageSize(PAGESIZE);

setTotalCount(totalCount);

setItems(items);

setStartIndex(0);

}

publicPaginationSupport(Listitems,inttotalCount,intstartIndex){

setStartIndex(startIndex);

publicPaginationSupport(Listitems,inttotalCount,intpageSize,intstartIndex){

setPageSize(pageSize);

publicListgetItems(){

returnitems;

publicvoidsetItems(Listitems){

this.items=items;

publicintgetPageSize(){

returnpageSize;

publicvoidsetPageSize(intpageSize){

this.pageSize=pageSize;

publicintgetTotalCount(){

returntotalCount;

publicvoidsetTotalCount(inttotalCount){

if(totalCount&

0){

this.totalCount=totalCount;

intcount=totalCount/pageSize;

if(totalCount%pageSize&

0)

count++;

indexes=newint[count];

for(inti=0;

i++){

indexes[i]=pageSize*i;

}else{

this.totalCount=0;

publicint[]getIndexes(){

returnindexes;

publicvoidsetIndexes(int[]indexes){

this.indexes=indexes;

publicintgetStartIndex(){

returnstartIndex;

publicvoidsetStartIndex(intstartIndex){

=0)

this.startIndex=0;

elseif(startIndex&

=totalCount)

this.startIndex=indexes[indexes.length-1];

else{

this.startIndex=indexes[startIndex/pageSize];

publicintgetNextIndex(){

intnextIndex=getStartIndex()+pageSize;

if(nextIndex&

returngetStartIndex();

else

returnnextIndex;

publicintgetPreviousIndex(){

intpreviousIndex=getStartIndex()-pageSize;

if(previousIndex&

return0;

returnpreviousIndex;

}抽象业务类Java代码

/**

*Createdon2005-7-12

*/

packagemon.business;

importjava.io.Serializable;

importorg.hibernate.Criteria;

importorg.hibernate.HibernateException;

importorg.hibernate.Session;

importorg.hibernate.criterion.DetachedCriteria;

importorg.hibernate.criterion.Projections;

importorg.springframework.orm.hibernate3.HibernateCallback;

importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;

importmon.util.PaginationSupport;

publicabstractclassAbstractManagerextendsHibernateDaoSupport{

privatebooleancacheQueries=false;

privateStringqueryCacheRegion;

publicvoidsetCacheQueries(booleancacheQueries){

this.cacheQueries=cacheQueries;

publicvoidsetQueryCacheRegion(StringqueryCacheRegion){

this.queryCacheRegion=queryCacheRegion;

publicvoidsave(finalObjectentity){

getHibernateTemplate().save(entity);

publicvoidpersist(finalObjectentity){

publicvoidupdate(finalObjectentity){

getHibernateTemplate().update(entity);

publicvoiddelete(finalObjectentity){

getHibernateTemplate().delete(entity);

publicObjectload(finalClassentity,finalSerializableid){

returngetHibernateTemplate().load(entity,id);

publicObjectget(finalClassentity,finalSerializableid){

returngetHibernateTemplate().get(entity,id);

publicListfindAll(finalClassentity){

returngetHibernateTemplate().find("

from"

+entity.getName());

publicListfindByNamedQuery(finalStringnamedQuery){

returngetHibernateTemplate().findByNamedQuery(namedQuery);

publicListfindByNamedQuery(finalStringquery,finalObjectparameter){

returngetHibernateTemplate().findByNamedQuery(query,parameter);

publicListfindByNamedQuery(finalStringquery,finalObject[]parameters){

returngetHibernateTemplate().findByNamedQuery(query,parameters);

publicListfind(finalStringquery){

returngetHibernateTemplate().find(query);

publicListfind(finalStringquery,finalObjectparameter){

returngetHibernateTemplate().find(query,parameter);

publicPaginationSupportfindPageByCriteria(finalDetachedCriteriadetachedCriteria){

returnfindPageByCriteria(detachedCriteria,PaginationSupport.PAGESIZE,0);

publicPaginationSupportfindPageByCriteria(finalDetachedCriteriadetachedCriteria,finalintstartIndex){

returnfindPageByCriteria(detachedCriteria,PaginationSupport.PAGESIZE,startIndex);

publicPaginationSupportfindPageByCriteria(finalDetachedCriteriadetachedCriteria,finalintpageSize,

finalintstartIndex){

return(PaginationSupport)getHibernateTemplate().execute(newHibernateCallback(){

publicObjectdoInHibernate(Sessionsession)throwsHibernateException{

Criteriacriteria=detachedCriteria.getExecutableCriteria(session);

inttotalCount=((Integer)criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();

criteria.setProjection(null);

Listitems=criteria.setFirstResult(startIndex).setMaxResults(pageSize).list();

PaginationSupportps=newPaginationSupport(items,totalCount,pageSize,startIndex);

returnps;

},true);

publicListfindAllByCriteria(finalDetachedCriteriadetachedCriteria){

return(List)getHibernateTemplate().execute(newHibernateCallback(){

returncriteria.list();

publicintgetCountByCriteria(finalDetachedCriteriadetachedCriteria){

Integercount=(Integer)getHibernateTemplate().execute(newHibernateCallback(){

returncriteria.setProjection(Projections.rowCount()).uniqueResult();

returncount.intValue();

/**

*Createdon2005-7-12

*/

publicabstractclassAbstractManagerextendsHibernateDaoSupport{

privatebooleancacheQueries=false;

privateStringqueryCacheRegion;

publicvoidsetCacheQueries(booleancacheQueries){

this.cacheQueries=cacheQueries;

publicvoidsetQueryCacheRegion(StringqueryCacheRegion){

this.queryCacheRegion=queryCacheRegion;

publicvoidsave(finalObjectenti

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1