2020年第10期
76
基于SSM 框架的员工管理系统设计与实现
龙达鑫* LONG Da-xin
摘 要 随着信息化技术的普及,信息技术已经渗透在人民众生活的方方面面。我们的日常生活无时无刻都离
不开信息化技术,我们每天使用的各种手机应用程序和各种网站购物、社交、订餐等。信息化技术改变了我们的生活方式,为我们的生活提供了便利。这些信息化技术的背后都离不开程序员的辛勤付出。本文以JA V A 为开发源码和SSM 框架浅述一套员工信息管理系统的设计与实现,并结合使用MySQL 数据库,保证了数据的完整性、安全性和一致性。
关键词 MVC ;信息化技术;数据库
doi:10.3969/j.issn.1672-9528.2020.10.025
* 广东外语外贸大学网络与信息化中心 广东广州 510420
0 引言
SSM 的全称为Spring+Spring MVC+Mybatis,分别取每个名称的首字母组合而成。Spinrg 指的是一个开源框架,于2003 年兴起的一个轻量级的Java Web 开发框架,从简单性、可测试性和耦合度的角度而言,任何Java 应用都可以从Spring 中降低编程复杂度。简单来说,Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring MVC 分离了控制器、视图解析器、模型对象以及处理程序对象的角,这种分离使得数据和html 代码分离。MyBatis 是一个基于Java 的数据库框架。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录,或者反向操作,将数据库查询结果映射为前端所需要的数据格式。
MVC 架构是“Model-View-Controller”的缩写,中文译文“模型-视图-控制器”。MVC 网站应用由这三个部分组成。用户操作事件触发控制器改变模型或者视图,或者同时改变两者。只要控制器改变了模型的数据或者属性,所有依赖视图都会自动刷新。与此同时,只要控制器改变了视图,视图会从模型中获取数据来刷新自己。MVC 结合前端模板引擎freemarker 或者thymeleaf 即可完成MVC 网站的开发。
本系统分为超级管理员和普通管理员身份。下面阐述如何进行相关设计。
系统中包括一个超级管理员,唯一的,对于普通管理员账号由超级管理员指定,超级管理员可以对普通管理员账户锁定,锁定后的普通管理员无法登录,超级管理员可以增加部门信息(部门人数统计)。查看普通管理员登录日志记录。
普通管理员可以创建本部门员工信息,对员工信息进行管理,设置员工相应状态。1 数据库设计
其中,dept
是部门表,admin 是管理员表,emp 是员工表,logs 是日志表。表格的外键和主键如图1所示。每个数据库表格都有自己的主键,非空且自增;部门管理员本身也是本部门的一名员工,因此管理员表中要取部门表的主键为外键,记录该管理员归属部门,同时flag 字段用于记录其是否为超级管理员,status 字段用于记录其账号状态,用不同的值表示不同的状态,根据情况自定义即可;而每个员工肯定都属于一个部门,因此员工表中也要记录其所属部门,因此要取部门表的主键为外键;日志表记录的是每个管理员的登录信息,包括登录IP和登录时间,因此要取管理员表的主键为外键。
图1 数据库 E-R 关系图
2020年第10期77
2 功能模块设计
超级管理员分为四个模块,分别是部门管理、管理员管理、员工管理、查看登录日志;而管理员的功能跟超级管理员类似,但是不具备除员工管理之外的其它功能,而且员工管理仅限于管理本部门的员工,不可以像超级管理员管理所有员工。3 程序设计
开发软件使用IDEA,开发语言采用JAVA,本工程采用Maven 项目结构,Maven 是一种项目管理方式,
本身和Spring 无关。Maven 项目结构无须手动拷贝jar 驱动包,只需要在l 文件中添加相关依赖,类似于添加引用,Maven 即会自动从仓库下载相关依赖,方便管理。不用像普通web 项目那样拷贝各种驱动jar 包。Maven 项目结构包括java、resources 以及webapp 三个文件夹,分别是源程序根
目录、资源文件根目录和静态文件根目录。
图2 Maven 项目结构其中,需要添加的依赖为Spring 全家桶依赖、thyme-leaf 模板引擎依赖、C3P0数据库连接池依赖、MySQL 数据库驱动依赖、Mybatis 依赖,以上依赖为必选项。
再添加pojo、mapper 文件自动生成插件,此项重要且实用,可以一键自动生成数据库实体类文件、mapper 数据库持久层文件以及Mybatis 数据库xml 文件。添加语句如图3所示。为了可以让该插件自动生成上述三种文件,还需要在resources 文件夹下添加名为l 的文件,其文件内容如
图4所示。需要注意的是,该文件名为固定文件名,不可更换,否则将无法识别。该文件中包含数据库驱动jar 包的绝对路径,数据库信息,按实际情况修改,此处仅为示范。如果数据库为远端数据库,即数据库服务器不在本机,还需要打开数据库的远程连接许可,否则将无法生成
上述文件。
图3 添加生成pojo 和mapper
文件的插件
图4 l 文件内容
2020年第10期
78
在Maven 项目管理中到该插件,如图5所示,名为ate,双击运行该插件,即可自动生成以数据库表名为文件名的实体类文件,以及实体类文件+Mapper 的持久层文件和xml
ssm框架简单吗文件。
图6 自动生成的实体类文件和持久层文件
持久层,就是把持久的动作封装成一个独立的层,这是为了代码的耦合度,从而增强代码的可维护性和可重用性。
查看持久层文件,发现插件已经全部生成好了数据库的相关操作接口了,而且文件本身是一个接口类型的文件,如图7所示,包括增删改查的主要方法。已经生成的方法可以直接调用,同时也可以根据需要添加自己的方法,例如分页查询、统计数量、其他条件查询。
至此,数据库操作文件已经全部生成,可以进行控制层代码的编写。大致编写思路是利用MVC 架构,将增删改查动作利用持久层的接口函数完成。
SSM 框架的另一大优势就在于上述持久层的操作方式,为了实现上述调用方式,还需要把Spring 和Mybatis 实现整合。整合的步骤如下:
(1)在resources 文件夹下新建spring 文件夹,再新建l 文件;
(2)在该文件夹下的l,加入扫描语句。
<import resource=”classpath:spring/spring-*.xml”/>,该语句要求spring 扫描该文件夹下的所有以spring 开头且后缀为xml 的文件。
完成上述两个步骤,即完成了Spring 和Mybatis 的整合。
至此,SSM
框架搭建完成。
图5 Maven 项目管理工具结构图
2020年第10期79
图7 持久层文件
4 测试
运行环境为Tomcat9.0服务器环境,测试操作系统为WIN7 64位,数据库采用MySQL8.0版本。测试浏览器为Chrome。图8
为系统首页,各功能菜单如左侧栏显示。
图8 系统首页
5 结论
信息技术的快速发展不仅为我们带来了日新月异的变化,而且给企业的日常管理带来了革命性的影响。
本文通过对浏览器/服务器模式的一整套员工信息管理系统的设计、研究和实现,全面介绍了SSM 框架下的开发过程,实现一个完整的信息化系统。通过分析探讨数据库技术和编程思想,引导如何高效率使用SSM 框架进行程序设计。
(下转第82页)
2020年第10期
82
与车辆限重信息比对,可以对超载超限行为进行监控报警。如果发生交通事故,各类监测信息可用于综合分析原因、判断事故责任。事故案例可以用于安全教育。
(2)运营优化服务
平台通过增加货运企业、货运车队、货运任务、货运量等信息的维护,可以提供运营优化服务。可以对运力进行实时调度;对装货、卸货效率进行分析;对不同驾驶人员、不同车队的工作效率进行对比分析;优化任务路线。
(3)货物流向监管服务
将车辆的行驶轨迹和车辆载重数据进行结合分析,可以对车载货物的流向起到一定的监管作用。如果车辆在货运任务中发生非计划路线行驶、非计划停运,同时发生了车辆载重的变化,结合停运地点的信息,可以对货物流向起到初步的判断和监管。适用于渣土、废物偷排乱排管控;危险品货物运输监控;偷货、串货、拉私活行为分析等应用场景。2.4 实现技术
车载中控,使用安卓平台系统,更符合广大用户的使用习惯。车载中控应用使用安卓语言开发,基于地图的应用使用百度地图或高德地图引擎进行开发。辅助驾驶功能在中控侧实现,避免因为网络问题引起功能失效。
软件平台,使用云端部署的方式,采用容器化技术便于进行系统扩容。运用多租户的设计思路,更安全有效地为不
同用户提供SaaS 服务。软件平台的Web 应用使用前后端分离技术,使用RESTful 风格进行API 设计。后端软件功能使用java 技术进行开发,使用微服务架构进行业务拆分。前端软件功能使用JavaScript 技术进行开发。基于地图的应用使用车载中控相同的地图引擎。使用大数据技术对货运任务过程中产生的各类数据进行分析,实现发现问题、提升运营能力的目标。3 结语
公路货运行业的发展,对安全生产和精细化运营都提出了要求。公路货运管理平台将信息化、物联网、人工智能技术相结合,以“端、云、管”的架构为公路货运企业提供服务,满足发展需要,提升竞争力。
参考文献:
[1]中华人民共和国交通运输部网站. 2019年交通运输行业发展统计公报[EB/OL]. v/jigou/zhghs/ 202005/t20200512_3374322.html.
[2]冯永忠, 康永禄. 智能网联汽车基础[J]. 汽车维修与保养, 2017(10):72-74.
[3]雒晓卓. 智能化车辆管理综合信息平台设计与实现[J]. 电脑编程技巧与维护, 2015 (14):56-57.
(收稿日期:2020-08-17 修回日期:2020-09-12)
图9 员工管理页
(收稿日期:2020-08-25 修回日期:2020-09-21)
(上接第79页)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论