`
445822357
  • 浏览: 740969 次
文章分类
社区版块
存档分类
最新评论

新分页方法,提高代码的重用性

 
阅读更多
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); //这个类在我前面的文章已经说到了
分享到:
评论

相关推荐

    其他类别分页 QQ菜单 jsp标签-noka3.9.rar

    这个压缩文件包含了多个有关实现分页功能的JSP代码片段,以及如何集成QQ菜单和各种JSP自定义标签库的示例。这些资源对于开发动态网站和网络应用程序的开发者来说非常有用,因为它们提供了一些预构建的功能模块,可以...

    客来香源码管理器

    借鉴JAVA的MVC思想,进行简单模块化设计,代码利用率与可重用性更高. 2.采用ADO+LISTVIEW分页显示,显示速度大大提高. 3.源码文件直接保存到数据库,大大节省了磁盘空间,查找起来更加方便快捷. 4.支持书签功能,...

    asp.net知识库

    2分法-通用存储过程分页(top max模式)版本(性能相对之前的not in版本极大提高) 分页存储过程:排序反转分页法 优化后的通用分页存储过程 sql语句 一些Select检索高级用法 SQL server 2005中新增的排序函数及应用 ...

    JAVA面试题最全集

    1.Web安全性的考虑(表单验证、浏览器Basic方式的验证,应用程序的安全性,SSL,代码考虑) 2.简单介绍您所了解的MVC。 3.简单介绍所了解的XML。 4.文档和编码规范 5.Java中的分页、效率考虑。 6.简单介绍您所...

    精通AngularJS part1

    为分页指令编写单元测试代码223 在指令中使用HTML模板224 从父作用域中隔离指令225 使用@插入属性226 使用=绑定数据227 使用&提供一个回调表达式227 实现分页组件228 为指令添加分页跳转回调229 87创建一个...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例053 提高代码重用率 84 实例054 包含数据库连接文件 85 实例055 包含网站头文件 86 实例056 包含网站尾文件 87 实例057 包含网站的主文件 88 2.4 条件语句 89 实例058 员工生日提醒 89 实例059 考试成绩评定标准...

    iWeb开源三剑客之iWebSNS v0.9.9 繁体中文版.rar

    1,优化了前端css,提高了css代码的重用率。 2,在安装文件时,增加了自动修改$siteDomain配置信息。 3,增加了网站访问限制功能,可以根据时间段,访问者的ip地址进行访问限制。 4,搭载礼物插件。礼物插件需要...

    RapidWebDev框架源码

    它能将开发人员从一些繁琐的事情(比如:调整页面CSS文件,编写大量的HTML/ASP.NET代码,处理大量的UI逻辑,为页面设置数据绑定,处理分页及排序,统一页面风格和操作规范等)中解放出来,从而专注于商业逻辑,软件...

    Spring面试题

    1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate使用Java反射...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例053 提高代码重用率 84 实例054 包含数据库连接文件 85 实例055 包含网站头文件 86 实例056 包含网站尾文件 87 实例057 包含网站的主文件 88 2.4 条件语句 89 实例058 员工生日提醒 89 实例059 考试成绩评定标准...

    软件界面设计工具_3款合集

    设计网格向您提供了简单的制作具有一致性设计布局的方法。 只需单键点击就能排列元素组。 均衡地隔开元素组。 调整元素大小以适应其它元素或测量一组其它元素。 聚焦缩小以查看细节设计或聚焦放大以浏览设计概况...

Global site tag (gtag.js) - Google Analytics