首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

新分页步骤,提高代码的重用性

2013-10-23 
新分页方法,提高代码的重用性BaseDaoImpl.getPageBean()在项目中,有很多页面都是要分页的,如果我们在每一

新分页方法,提高代码的重用性
       BaseDaoImpl.getPageBean()
在项目中,有很多页面都是要分页的,如果我们在每一个在控制层中为pageBean准备数据,那样的话,待会的复用性就变差了,有很多重复的代码,而这些代码只因domain里面的基类不同而已,比如在BBS论坛中,用户显示要分页,发表的主题要分页,用户的回复要分页,如果我们在每一个对应的action准备jsp要显示的数据,是不是很麻烦呢,不光是麻烦,而且还是繁琐。所以么...就把它提取出来。        public PageBean getPageBean(int pageNum, HqlHelper hqlHepler){        }        在这里,我说明一下,pageNum是当前那一页,HqlHelper写的是一个工具类,先不要管它里面是怎么实现的,我在后面会把HqlHelper这个代码方法写出来。因为这样,以后就只需要构建hqlHelper查询语句,准备数据的时候,我就能实现分页。        List<Object>  parameters = hqlHelper.getParameters();        int pageSize = Configuration.getPageSize(); //为了以后的程序维护,把这类数据都写到properties文件中。        //查询记录数      Query  countQuery = getSession().createQuery(hqlHelper.getQueryCountHql());  //生成查询对象。          for(int i=0;i<parameters.size();i++){           countQuery.setParameter(i,parameters.get(i));      }           int count = ((long) countQuery.uniqueResult()).intValue();            //查询一段数据列表     Query  listQuery = getSession().createQuery(hqlHelper.getQueryListHql());  //生成查询对象         for(int i= 0; i<parameters.size();i++){       listQuery.setParameter(i,parameters.get(i));     }        listQuery.setFirstResult((pageNum-1)*pageSize);     listQuery.setMaxResults(pageSize);     List list =  listQuery.list();  //查询         return  new PageBean(pageNum,pageSize,count,list);  //这个类在我前面的文章已经说到了                                                                         

热点排行