一种支持多条件过滤查询分页组件设计和实现

一种支持多条件过滤查询分页组件设计和实现

ID:6058668

大小:36.00 KB

页数:13页

时间:2018-01-01

一种支持多条件过滤查询分页组件设计和实现_第1页
一种支持多条件过滤查询分页组件设计和实现_第2页
一种支持多条件过滤查询分页组件设计和实现_第3页
一种支持多条件过滤查询分页组件设计和实现_第4页
一种支持多条件过滤查询分页组件设计和实现_第5页
资源描述:

《一种支持多条件过滤查询分页组件设计和实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一种支持多条件过滤查询分页组件设计和实现  摘要:常见的分页组件存在一些不足,针对多条件组合过滤的分页查询业务场景提出了改进方案,在实现分页查询封装的同时给业务开发者提供足够的开发灵活性,并在SpringMVC开发框架的基础上实现了该分页组件,在视图层使用JQuery实现了一个与后台开发框架完全分离的分页页面组件,在后台使用泛型和桥接模式实现了分页查询的封装。应用结果表明该组件能够满足日常开发中的所有应用场景,且具有较好的移植性和稳定性。关键词:分页组件;查询优化;分页框架;Spring框架中图分类号

2、:TP311文献标识码:A文章编号:1009-3044(2014)03-0514-0613在企业级应用开发中,对业务实体信息的多条件组合过滤查询是基本功能之一。针对客户的查询要求,服务器可以一次性将符合条件的所有数据推送给客户端,但这种方式只适合返回少量数据集的情况。针对大型和超大型数据集,服务器必须采用分页的方式将符合要求的数据以分页的方式推送给客户端。文献[1]提出了一种基于MVC的分页组件,但对应的查询语句写死在分页抽象类中,这就导致了该分页组件没办法满足多条件组合过滤查询和对结果集按照特定属性

3、进行排序等应用场景。文献[2]使用泛型DAO实现了支持多条件组合查询和对结果集进行排序的分页组件,但是实现方法是将查询过滤条件和排序字段以键值对的方式存放在Map中,这就要求业务开发者在处理分页查询时需要进行二次加工,将过滤条件或者排序条件按照预定好的方式组成键值对推入到预定义好的Map变量中,这种方式将界面查询元素和分页查询处理代码进行了紧耦合,不但增加了程序调试和维护的难度,且增加了业务开发者的工作量。另外上述两种方法也都是针对单个对象的分页查询应用,对多个对象间关联查询的应用场景支持不了,而在实

4、际企业应用中,这种多表关联查询的分页查询业务场景非常多,且分页的多个查询条件通常是动态组合的。在多条件动态组合查询业务场景中,对于有N个查询条件,这N个查询条件的不同拼接顺序得到的不同JPQL或者SQL语句在执行效率方面相差非常大[3-5],因此在数据查询业务中需要给业务开发人员提供足够的开发灵活性,让其在拼接查询语句时可以根据数据库表的设计、数据量和对应SQL优化器的工作原理对查询条件进行拼接,取得最优的执行效率。13针对上述问题,本文提出了一种改进的Web分页组件方法,在实现分页查询封装的同时给业

5、务开发者提供足够的开发灵活性,在满足分页组件的可扩展性和可移植性要求的同时,达到提高代码可维护性、增加业务开发者的开发灵活性和提高最终应用软件的执行效率等目的。1相关实现技术1.1SpringMVCSpring框架提供了构建Web应用程序的全功能MVC模块,是一种高度可配置的MVC框架,可以定制本地化和主题解析,并提供多种视图技术,实现了控制器、模型对象、分派器以及处理程序对象的多角色分离,这种分离让它们更容易进行定制,在视图层,Spring提供了视图解析器使其可以在浏览器中直接显示模型数据[6-7]

6、。1.2Java泛型泛型是程序设计语言的一种特性,允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,对于这些可变部分允许在其使用前再声明具体的类型,Java泛型是JavaSE1.5及以上版本的新特性。在Java编程中,常常用到在容器中存放对象或从容器中取出对象,并根据实际情况转型为相应的对象,但在转型过程中极易出现错误,且很难发现。而使用泛型则可以在存取对象时明确指名对象的类型,将问题暴露在编译阶段,由编译器检测,从而避免Java在运行时出现转型异常,增加程序的可读性与稳定性,提高程序的运行

7、效率[1]。1.3JPAJPA(JavaPersistence13API)通过注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。由于传统的O/R映射解决方案太多,不方便开发人员的学习和使用,JPA则提供了数据访问的统一规范和标准[1]。JPA包括以下优势:1)标准化;2)简单易用,集成方便;3)可媲美JDBC的查询能力。1.4JQueryJQuery是一个轻量级的JavaScript脚本,支持cssl、css2、css3定义的属性和选择器,兼容多种浏览器。开发人员除了可以使

8、用JQuery自身带有的显示和隐藏元素特效外,还可以通过插件实现更多功能,如表单验证、Tab导航、拖放效果、表格排序、树形菜单、图像特效以及Ajax上传等,极大地方便了开发人员快速开发动态效果网页。2分页组件业务架构设计当前大部分web应用都采用了MVC架构模式,该模式把软件系统分为模型(Mode1)、视图(View)和控制器(Controller)133个部分,其中Model对象包含数据,View对象负责显示有模型包含的数据,用于与用户交互,Contr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。