基于Spring MVC的数据库分页查询技术及应用研究

2014-04-29 00:44周建韡罗辛史有群宋汉征
智能计算机与应用 2014年4期
关键词:数据库设计

周建韡 罗辛 史有群 宋汉征

摘要:在电子商务系统中,由于用户查询条件的宽泛性,可能会出现大量符合条件的查询结果。为了快速响应用户查询,在数据库设计和访问过程中,除了建立合理的索引机制以外,必须对查询结果进行分页处理。在传统Spring MVC框架基础上,增加了Bo层,其主要作用为参数封装,并从数据库的生成、业务逻辑的配置、Dao层、Service层、Controller层、Bo层、Jsp层等多个层次优化数据访问过程。通过实验分析,对比传统分页方法,在平均响应时间上具有明显优势,且依托良好的层次结构,具有可移植性强的优点。

关键词:电商系统; Spring框架; MVC; 数据库设计; 分页显示

中图分类号:TP393 文献标识码:A文章编号:2095-2163(2014)04-0009-05

Abstract:In current e-commerce systems, due to the broadness of user query, database queries often get a large number of eligible query results. For the purpose of quickly respond to user queries, during the process of database design and access, in addition to a reasonable indexing mechanism, the query results display must be paged display. With improved Spring MVC framework, the Bo-layer is added between JSP-layer and Controller-layer, whose main role is as a parameter package. Also, from database generating, business logic configuration, Dao-layer design, Service-layer design, Controller-layer design, Bo-layer design, Jsp-layer design and so on, the paper optimizes data access process. After that , through experimental analysis, compared with traditional paging method, this method has obvious advantages in the aspects such as average response time, a clear frame hierarchy and good portability.

Key words:E-commerce System; Spring Framework; MVC; Database Design; Pagination Display

0引言

随着电子商务系统规模的增加,涉及访问的数据量可能会达到上万甚至是百万条,为保证用户浏览数据的体验效果、提升Web服务器的响应速度并减轻服务器的通信负载,就必须对查询数据进行分页显示。

在国内外的应用研究中,已提出了有关分页显示的多种方案,常见的方法有SQL分页算法、JSP分页方法、使用标签库、将查询结果缓存在HttpSession或变量中实现分页等,但在实际应用中却都存在一定的不足和缺陷。具体分析如下。

(1)直接利用数据库管理系统提供的分页功能来实现数据分页。该方法虽然可以提高性能,但不同数据库实现的方法各不相同,因而对于不同的项目缺乏通用性。

(2)将查询结果缓存在HttpSession或变量中实现分页。此方法虽然可以减少数据库的连接次数,但却会占用大量Web容器内存[1],而且会导致用户查看到的可能是过期数据。

(3)直接在数据库上建立游标,使用ResultSet移动游标实现分页,使游标定位结果集。这种方式在操作大型数据和访问用户众多的时候,却可能导致DBMS因为资源耗尽而崩溃[2]。

2基于Spring MVC分页方案

5结束语

本文针对电子商务系统中,用户查询条件宽泛导致出现大量符合条件的查询结果的问题,提出了利用改进的Spring MVC框架实现分页的方法。首先,利用Spring MVC框架,实现了表示层、业务层和逻辑层的分离;其次,在传统框架基础上做出改进,加入Bo层,对数据进行封装,缩短数据传输时间。本文的测试分析结果显示,该方法具有响应时间短、移植性高的优点。

但本文提出的方法也存在不足,当商品输入为海量数据时,其响应时间就会较长,下一步将针对此现象作出改进。其后的工作重点还包括将提出的分页技术实现相应的模块化,可以被不同项目直接调用。此外,对于频繁读取的数据,可将符合条件的数据全部读取至Web服务器,并在其上生成一个XML文件,则客户端即可直接和XML文件实现交互[7],虽然此方法已经实现,但仍存在可完善的空间,这也是未来工作的一个研究重点。

参考文献:

[1]何玲娟,蚁 龙,刘连臣. 一种松耦合高复用 MVC 模式的 Web 分页实现[J]. 计算机工程与应用,2007,43( 15) : 95 -97.

[2]崔行臣,张明光. 一种基于Struts框架的Web分页模型的设计与实现[J]. 山东科学, 2013, 26(4):60-64.

[3]丁振凡. 利用Spring MVC实现数据分页显示处理[J]. 智能计算机与应用. 2012,2(5):20-22.

[4]陈雄华, 林开雄. Spring 3.x 企业级应用开发实战[M]. 北京:电子工业出版社, 2013.

[5]Naveen Balani, Spring系列:Spring框架简介. [EB/OL]. http://www.ibm.com/developerworks/cn/java/wa-spring1/, 2005-08-18.

[6]丁振凡, 李馨梅. 基于JdbcTemplate的数据库访问处理[J]. 智能计算机与应用,2012,2(3):29-32.

[7]勾成图,张瞡,李军怀. 海量数据分页机制在Web信息系统中的应用研究[J]. 计算机应用,2005,25(8):1926-1929.

猜你喜欢
数据库设计
试论数据库设计在网站开发中的应用
基于WEB的科研信息管理系统的设计与实现
面向等级考试,探讨高校理工科计算机基础课程教学改革
网站管理系统中数据库设计的应用研究
《数据库原理及应用》在线考试系统的设计