admin 管理员组

文章数量: 887021


2023年12月24日发(作者:ostream是什么类型)

ISSN1009-3044ComputerKnowledgeKnowledgeandandTechnologyTechnology电脑知识电脑知识与技术Computer与技术Vol.17,No.13May2021E-mail:*************.cn第17卷第13期(2021年5月)http://:+86-551-6569基于SSM框架的学生生活服务平台的设计与实现秦溧,艾青(辽宁科技大学计算机与软件工程学院,辽宁鞍山114051)摘要:随着时代的发展,为了满足大学生对生活上的需求,以及整合周边商家所提供的服务,经研究,在基于Spring,Spring⁃MVC和Mybatis框架技术的基础上,设计并实现了学生生活服务平台,在该平台上,用户可获取自己想了解的信息,商家可对店铺进行宣传。该平台界面友好,易于操作,给用户带来出色的使用体验,不仅可以提高大学生的生活效率,而且还可以增加商家的收益。关键词:Spring;SpringMVC;MyBatis中图分类号:TP311.5文献标识码:A开放科学(资源服务)标识码(OSID):文章编号:1009-3044(2021)13-0080-031背景经调查,当代许多大学生想取快递时,往往都会遇到没有时间,要排很长的队的小问题;想要勤工俭学也没有一个好的渠道;想快速获取到周边商铺也需要自己花费大量的时间去探索;对于商家来说,想有效地对自己的店铺进行宣传,却还停留在采用发传单的形式,往往事倍功半。这给大学生的生活以及商家的收益造成了极大的影响。综合以上问题分析,学生生活信息化的研究已成为当代不可避免的重要课题。在该平台上实现的功能有,商家的入驻与审核,商家对店铺和商品的管理,对最近一周消费记录的分析,以及查看在该店铺消费的用户的积分。对于用户,可以进行对店铺和商品的浏览,如果已在该平台注册则可以拥有积分功能和奖品兑换的功能,即消费对应的奖品和服务可以获得相应的积分,利用该积分可以在该店铺兑换心仪的奖品。用户可在该平台上获得良好的使用体验。在传统的J2EE的开发过程中存在着许多问题。由于采用传统的SSH框架进行开发时,用Hibernate框架的对数据库进行操作时,往往会出现难以拼接Sql语句等问题,使得系统的开发和部署非常复杂,运行效率也低。本文采用SSM框架(Spring,SpringMVC,MyBatis)来开发学生生活服务平台,这不仅简化了编程,还提高了系统性能,增强了系统的可扩展性。2SSM框架概述Spring是一个轻量级的Java框架,它是整合SSM的核心。Spring由Core(核心)、Context(上下文)、AOP(面向切面)、DAO(控制反转)、ORM、Web以及MVC组成,它在视图层、数据持久层及业务逻辑层都有这广泛的应用,在这几个层次里,程序员可以使用它的任何功能,系统框架的稳定性不会受到任何影响。Spring主要是以IOC控制反转和AOP面向切面编程为主的一款轻量级框架,在真正意义上实现了“一次写入,多处运行”,改善了J2EE的开发效率以及技术标准的不统一,是J2EE应用的各层的最优解决方案,能够与其他框架整合实现无缝连接[1]。SpringMVC是轻量级web框架阵营中的主要成员之一,MVC设计思想是它的主要特色,这种设计方法可以用来对WEB层实现解耦,从而使得开发变得更加清晰和容易,同时能[4]无缝衔接Spring技术,并且数据验证更加灵活。在开始使用Java2E技术进行开发时并没有想到使用框架来简化开发的这种概念,因此大部分的开发都是采用Jsp(编写前端代码)、Serv⁃let(编写请求跳转和控制文件)和JavaBean来进行系统的开发。在开发中,JSP接收用户的Request及同时将系统处理所得到的Result返回到服务器中并在视图层呈现给用户;JavaBean用来建立和维护系统和数据库之间连接的关系,Servlet就作为Controller用于接收请求并返回相应的响应结果。采用这种开发模式会存在一个问题,那就是传统方法中,每创建一个请求的路径都会对应的在系统中创建一个Servlet。这样会导致系统中存在大量的Servlet文件,这种开发模式不仅会使系统源码占用的空间过多,同时还会给开发人员在后期系统的调试和维护中造成极大的不便。此外,在处理请求时仍有许多不方便的操作。但是,SpringMVC解决了V-C之间的交互问题,也就是视图和控制器之间的交互问题[2]。MyBatis是一个轻量级Java持久层框架,它可以支持自定义SQL、存储数据的过程以及高级的Mapper映射。MyBatis可以支持和MySql数据库的联合使用。MySQL作为对数据库进行操作的核心应用组件,它封装了对数据库可以进行增删改查的所有操作,并且可以只需要通过对xml配置进行简单的配置和注解就可以快速生成一些主要的代码,提高开发者的生产[3][4-5]力。MySQL的框架设计采用分层的思想,从逻辑业务上可以分为3层:收稿日期:2021-01-20基金项目:辽宁科技大学大学生创新创业训练计划资助项目(项目编号:2);辽宁科技大学优秀人才项目(项目编号:2018RC05)作者简介:秦溧(2000—),男,重庆人,学士,研究方向为软件工程理论;艾青(1980—),男,辽宁辽阳人,通信作者,副教授,硕士生导师,博士,研究方向为软件工程、机器学习、人工智能。80软件设计开发本栏目责任编辑:谢媛媛

第17卷第13期(2021年5月)API1)API接口层,在这一层Mybatis中加入了相关接口,这些接口的功能全面且强大,提供了大量可直接调用的JAR包依赖就可以直接使用,只要开发者在开发过程这些API接口会省去许多开发过程中烦琐的步骤从而使开发变得相当简单。剖析和分解的操作,2)数据处理层,这一层主要是对从而达到数据库表和实体类建立起映射的JavaBean对象实现数据的效果,完成对数据库的CRUD操作基本配置和加载,3)基础配置层,[6]。tis其中事务管理的底层驱动是这一层负责数据库连接和管理以及数据的Mybatis。Myba⁃文件,主要通过编写此外,通过在xmlxml文件让其作为连接数据库和系统的配置文件中编写Sql语句的方式可以实现对数据库的操作,也可以通过注解的方式实现。Mybatis可以提高系统的灵活性和可维护性主要是因为它的分层思想,Mybatis层[7]、service的结构框架类似服务层、view视图层。但对数据库进行操作时,MVC,它也将系统分为了DAO另外接口都需要在实体类中去定制数据库表所对应的主键以及其他字段属性,然而在一些大型系统的数据库中会有很多的数据库表,而这会导致对主键的指定变得相当麻烦。由于mybatis的数据库连接,是基于简单JDBC(JavaDatabasesConnection)的,因此建立Mybatis和数据库的连接操作以及释放链接的操作都会占用系统大量资源[8]。统分为四层:SSM一个是典型的单体式轻量级框架,表示层,业务层,持久层和视图层,从职责上可以给系可以帮助开发者在较短的时间内搭建出复用性强、方便维护的程序。3平台部分数据库表以及业务流程图设计3.1系统流图商家入驻流程图,该图用于展示商家在入驻本平台时需要走的流程,如图1所示:图1商家入驻流程图本栏目责任编辑:谢媛媛ComputerKnowledgeandTechnology电脑知识与技术商家审核流程图,该图用于展示管理员在审核入驻商家店铺信息的详细流程,如图2所示:图2商家审核流程图3.2系统功能图学生生活服务平台(学生帮)系统功能图,该图用于展示,用户、商家、管理员在该平台上所能拥有的功能,如图3所示:学生生活服务平台系统管理员顾客商家浏查店地用头览绑看积商权商奖修铺区户条商定消分铺限品品改管管管管铺理理理理和账费兑管管管管密服户记换理理理理码务录图3系统功能图3.3部分关键数据库设计区域表tb_area:该表用于存储周边店铺信息区域位置,并由管理员来进行管理,如表1所列:软件设计开发81

ComputerKnowledgeandTechnology电脑知识与技术表1区域表列名类型描述area_idnum(5)区域ID数据库自增量area_namechar(20)区域名prioritynum(4)显示优先级create_timedate创建时间last_edit_timedate最后编辑时间用户表tb_person_info:该表用于存储在该平台上注册的用户信息,包括普通用户,商家,管理员,如表2所列:表2用户表列名类型描述user_idnum(20)用户ID数据库自增量unamechar(20)注册用户的姓名profileImgchar(20)头像Gender_sexchar(2)性别estatusnum(1)可用状态uTypenum(1)用户的角色cTimedate用户注册成功创建时间last_edit_timedate最后编辑时间微信账号tb_wechat_auth:用户可以和自己的微信号进行关联,在关联后,将自己的微信账号信息存储到该表中,如表3所列:表3微信账号列名类型描述wechat_auth_idnum(20)微信id数据库自增量user_idnum(20)用户id外键open_idchar(20)开放idcTimedate绑定微信账号的时间本地账户表tb_local_auth:用户在进行微信登录后可以绑定一个本地账号,登录的时候,除了可以利用自己的微信账号,也可以用自己的本地账号进行登录。在绑定本地账号后,将本地账号的信息存储的该表中,如表4所列:表4本地账户表列名类型备注local_auth_idnum(20)本地账户ID自增user_idnum(20)用户ID自增外键usernamechar(20)用户名外键passwordchar(20)密码cTimedate创建时间last_edit_timedate最后编辑时间头条信息表tb_head_line:用于在界面展示商家的宣传信息,商家在和管理员进行协商后,将自己的店铺信息在界面的头条上进行宣传。并将该头条信息存储到该表中,如表5所列:表5头条信息表列名类型备注line_idnum(20)头条ID自增82软件设计开发第17卷第13期(2021年5月)line_namechar(20)头条名line_linkchar(20)头条链接line_imgchar(20)头条图片prioritynum(4)头条优先级enable_statusnum(1)头条可用状态create_timedate创建时间last_edit_timedate最后编辑时间店铺类别表tb_shop_category:该表用于存储商店的类别,且店铺类别的信息由管理员管理,商家在申请店铺时,需在该表的信息中选取自己需要的店铺类别,如表6所列:表6店铺类别表列名类型备注shop_category_idnum(20)类别id外键shop_categoty_namechar(20)店铺类名shop_category_descchar(20)类别描述shop_category_imgchar(256)类别图片prioritynum(4)优先级create_timedate创建时间last_edit_timedate编辑时间parent_idnum(20)父级目录4结束语本文主要针对学生生活服务平台的开发进行了技术的分析、功能的描述、业务流程图和数据库的设计。通过测试,该平台性能稳定、可靠,具有较强的可扩展性。参考文献:[1]唐权.SSM框架在JavaEE教学中的应用与实践[J].[2]2017,33(12):61,93-94.福建电脑,邱丹萍.Web开发中SSM框架的分析[J].电脑知识与技术,[3]2020,16(17):oen'MySQL'O,DaviddriverJ,SaikatTforRD,etal.RMySQL:databaseinterface[4]/web/packages/RMySQL/.[EB/OL].[2020-09-20].bleNashT,ty:ImplementinganConferencedatabaseinMySQL[C]//201712thInternational[5](ICITST).Cambridge:IEEE,ernetTechnologyandSecuredTransactionscomplexity-increasingSánchez-de-MadariagaR,MuñozA,CastroAL,ingNoSQLqueriesInrelational(MySQL)andstandardized(MongoDBEHRdatabases[J].andEXist)Journalsize-growingofVisualizedISO/ENExperi⁃13606[6]ments,2018(133):57439.张世雄.PHP操作MySql数据库的面向对象模型类实现[7]远职业技术学院学报[J].清陈欣.,2018,11(6):45-48.[8]探索基于java三层构架的管理信息系统中DAO层的构建陈小虎[J].学院学报,科技资讯邓惠俊,2015,13(11):26-27.,2020,23(2):29-32..基于mybatis的数据持久层研究[J].成都工业【通联编辑:谢媛媛】本栏目责任编辑:谢媛媛


本文标签: 系统 数据库 商家 开发 框架