APP下载

基于SSM框架的学生生活服务平台的设计与实现

2021-07-19秦溧艾青

电脑知识与技术 2021年13期

秦溧 艾青

摘要:随着时代的发展,为了满足大学生对生活上的需求,以及整合周边商家所提供的服务,经研究,在基于Spring,SpringMVC和Mybatis框架技术的基础上,设计并实现了学生生活服务平台,在该平台上,用户可获取自己想了解的信息,商家可对店铺进行宣传。该平台界面友好,易于操作,给用户带来出色的使用体验,不仅可以提高大学生的生活效率,而且还可以增加商家的收益。

关键词:Spring;SpringMVC;MyBatis

中图分类号:TP311.5      文献标识码:A

文章编号:1009-3044(2021)13-0080-03

1 背景

经调查,当代许多大学生想取快递时,往往都会遇到没有时间,要排很长的队的小问题;想要勤工俭学也没有一个好的渠道;想快速获取到周边商铺也需要自己花费大量的时间去探索;对于商家来说,想有效地对自己的店铺进行宣传,却还停留在采用发传单的形式,往往事倍功半。这给大学生的生活以及商家的收益造成了极大的影响。综合以上問题分析,学生生活信息化的研究已成为当代不可避免的重要课题。

在该平台上实现的功能有,商家的入驻与审核,商家对店铺和商品的管理,对最近一周消费记录的分析,以及查看在该店铺消费的用户的积分。对于用户,可以进行对店铺和商品的浏览,如果已在该平台注册则可以拥有积分功能和奖品兑换的功能,即消费对应的奖品和服务可以获得相应的积分,利用该积分可以在该店铺兑换心仪的奖品。用户可在该平台上获得良好的使用体验。

在传统的J2EE的开发过程中存在着许多问题。由于采用传统的SSH框架进行开发时,用Hibernate框架的对数据库进行操作时,往往会出现难以拼接Sql语句等问题,使得系统的开发和部署非常复杂,运行效率也低。本文采用SSM框架(Spring,SpringMVC,MyBatis)来开发学生生活服务平台,这不仅简化了编程,还提高了系统性能,增强了系统的可扩展性。

2 SSM框架概述

Spring 是一个轻量级的 Java 框架, 它是整合SSM的核心。Spring由Core(核心)、 Context(上下文)、 AOP(面向切面)、DAO(控制反转)、ORM、Web以及MVC组成,它在视图层、数据持久层及业务逻辑层都有这广泛的应用,在这几个层次里,程序员可以使用它的任何功能,系统框架的稳定性不会受到任何影响。Spring主要是以IOC控制反转和AOP面向切面编程为主的一款轻量级框架,在真正意义上实现了“一次写入,多处运行”,改善了J2EE的开发效率以及技术标准的不统一,是J2EE应用的各层的最优解决方案,能够与其他框架整合实现无缝连接[1]。

SpringMVC是轻量级web框架阵营中的主要成员之一,MVC设计思想是它的主要特色,这种设计方法可以用来对WEB层实现解耦,从而使得开发变得更加清晰和容易,同时能无缝衔接Spring技术,并且数据验证更加灵活[4]。在开始使用Java 2E技术进行开发时并没有想到使用框架来简化开发的这种概念,因此大部分的开发都是采用Jsp(编写前端代码)、Servlet(编写请求跳转和控制文件)和JavaBean来进行系统的开发。在开发中,JSP接收用户的Request及同时将系统处理所得到的Result返回到服务器中并在视图层呈现给用户;JavaBean 用来建立和维护系统和数据库之间连接的关系, Servlet 就作为Controller用于接收请求并返回相应的响应结果。采用这种开发模式会存在一个问题,那就是传统方法中,每创建一个请求的路径都会对应的在系统中创建一个Servlet。这样会导致系统中存在大量的Servlet文件,这种开发模式不仅会使系统源码占用的空间过多,同时还会给开发人员在后期系统的调试和维护中造成极大的不便。此外,在处理请求时仍有许多不方便的操作。但是,SpringMVC解决了V-C之 间的交互问题,也就是视图和控制器之间的交互问题[2]。

MyBatis 是一个轻量级Java持久层框架,它可以支持自定义 SQL、存储数据的过程以及高级的Mapper映射。MyBatis 可以支持和MySql数据库的联合使用。MySQL 作为对数据库进行操作的核心应用组件,它封装了对数据库可以进行增删改查的所有操作,并且可以只需要通过对xml 配置进行简单的配置和注解就可以快速生成一些主要的代码,提高开发者的生产力[3]。MySQL 的框架设计采用分层的思想[4-5],从逻辑业务上可以分为3 层:

1)API 接口层,在这一层Mybatis提供了大量可直接调用的API接口,这些接口的功能全面且强大,只要开发者在开发过程中加入了相关JAR包依赖就可以直接使用,这些 API接口会省去许多开发过程中烦琐的步骤从而使开发变得相当简单。

2)数据处理层,这一层主要是对JavaBean对象实现数据的剖析和分解的操作,从而达到数据库表和实体类建立起映射的效果,完成对数据库的CRUD 操作[6]。

3)基础配置层,这一层负责数据库连接和管理以及数据的基本配置和加载,其中事务管理的底层驱动是Mybatis。 Mybatis 主要通过编写xml文件让其作为连接数据库和系统的配置文件,此外,通过在xml文件中编写Sql语句的方式可以实现对数据库的操作,也可以通过注解的方式实现。Mybatis可以提高系统的灵活性和可维护性主要是因为它的分层思想,另外 Mybatis的结构框架类似 MVC ,它也将系统分为了 DAO 接口层[7]、service 服务层、view视图层。但对数据库进行操作时,都需要在实体类中去定制数据库表所对应的主键以及其他字段属性,然而在一些大型系统的数据库中会有很多的数据库表,而这会导致对主键的指定变得相当麻烦。由于mybatis 的数据库连接,是基于简单JDBC(Java Databases Connection)的,因此建立Mybatis和数据库的连接操作以及释放链接的操作都会占用系统大量资源[8]。

SSM一个是典型的单体式轻量级框架,从职责上可以给系统分为四层:表示层,业务层,持久层和视图层,可以帮助开发者在较短的时间内搭建出复用性强、方便维护的程序。

3 平台部分数据库表以及业务流程图设计

3.1 系统流图

商家入驻流程图,该图用于展示商家在入驻本平台时需要走的流程,如图1所示:

商家审核流程图,该图用于展示管理员在审核入驻商家店铺信息的详细流程,如图2所示:

3.2 系统功能图

学生生活服务平台(学生帮)系统功能图,该图用于展示,用户、商家、管理员在该平台上所能拥有的功能,如图3所示:

3.3 部分关键数据库设计

区域表tb_area:该表用于存储周边店铺信息区域位置,并由管理员来进行管理,如表1所列:

微信账号tb_wechat_auth:用户可以和自己的微信号进行关联,在关联后,将自己的微信账号信息存储到该表中,如表3所列:

本地账户表tb_local_auth:用户在进行微信登录后可以绑定一个本地账号,登录的时候,除了可以利用自己的微信账号,也可以用自己的本地账号进行登录。在绑定本地账号后,将本地账号的信息存储的该表中,如表4所列:

头条信息表tb_head_line:用于在界面展示商家的宣传信息,商家在和管理员进行协商后,将自己的店铺信息在界面的头条上进行宣传。并将该头条信息存储到该表中,如表5所列:

店铺类别表tb_shop_category:该表用于存储商店的类别,且店铺类别的信息由管理员管理,商家在申请店铺时,需在该表的信息中选取自己需要的店铺类别,如表6所列:

4 结束语

本文主要针对学生生活服务平台的开发进行了技术的分析、功能的描述、业务流程图和数据库的设计。通过测试,该平台性能稳定、可靠,具有较强的可扩展性。

参考文献:

[1] 唐权.SSM框架在JavaEE教学中的应用与实践[J].福建电脑,2017,33(12):61,93-94.

[2] 邱丹萍.Web开发中SSM框架的分析[J].电脑知识与技术,2020,16(17):81-82.

[3] Jeroen O,David J,SaikatT D,et al.RMySQL:database interface and 'MySQL' driver for R[EB/OL].[2020-09-20]. https://cran.r-project.org/web/packages/RMySQL/index.html.

[4] Nash T,Olmsted A.Performance vs.security:Implementing an immutable database in MySQL[C]//2017 12th International Conference for Internet Technology and Secured Transactions (ICITST).Cambridge:IEEE,2017.

[5] Sánchez-de-Madariaga R,Mu?oz A,Castro A L,et al.Executing complexity-increasing queries In relational (MySQL) and NoSQL (MongoDB and EXist) size-growing ISO/EN 13606 standardized EHR databases[J].Journal of Visualized Experiments,2018(133):57439.

[6] 張世雄.PHP操作MySql数据库的面向对象模型类实现[J].清远职业技术学院学报,2018,11(6):45-48.

[7] 陈欣.基于java三层构架的管理信息系统中DAO层的构建探索[J].科技资讯,2015,13(11):26-27.

[8] 陈小虎,邓惠俊.基于mybatis的数据持久层研究[J].成都工业学院学报,2020,23(2):29-32.

【通联编辑:谢媛媛】