张恒铭
摘要:随着科技飞速的发展以及需求的不断增加,高校的人事信息发布系统也逐渐凸显出一些问题。文中介绍了一种基于SpringBoot+MyBatis框架的高校人事信息发布系统设计,通过对高校人事管理的需求分析,归纳了人事管理的功能模块,然后给出了系统的整体框架,最后使用SpringBoot+MyBatis框架进行开发,实现了该高校人事信息发布系统,具有良好的扩展性,同时也提高了人事管理的效率。
关键词:高校人事信息管理;B/S模式;SpringBoot+MyBatis;Java EE框架
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2020)18-0068-03
开放科学(资源服务)标识码( OSID):
1 引言
传统的高校人事信息化管理效率低下、工作量大,与高校其他部门之间存在数字鸿沟,数据的正确性也存在很大的问题,给人事管理带来了许多不便。同时因为人事信息的及时性与共享性无法匹配各单位的需求,带来一些不必要的“人事乌龙”事件等,数据和系统安全性问题也是时有发生。
本文所描述的高校人事信息发布系统综合了众多高校人事管理的功能和需求,采用B/S模式、主流的软件框架和技术设计开发,具有效率高、信息更新及时、良好的共享性,实现了人事管理的高效率网络化、标准化等特点。
2 系统结构描述
2.1 B/S模式
B/S模式即浏览器/服务器模式,通过Web浏览器向Web服务器提出请求,由Web服务器对数据库进行操作,并将结果传回客户端。实质上就是C/S模式的变形和简化,也就是三层C/S架构。用户通过浏览器进入用户界面,部分且少量的业务逻辑在浏览器端实现,主要的业务逻辑是在服务器端执行。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器部分,简化了系统的开发、维护和使用。
人事信息发布系统作为系统的支撑平台,主要是提供相关的数据库服务,提高人事管理的效率,提高信息查询的效率,确保数据的安全性、及时性、共享性,保证系统自身的安全性、交互性和扩展性,因此系统结构的设计是该高校人事信息发布系统的首要任务。
2.2 系统的开发工具和核心技术
通过对国内外高校人事信息发布系统的调查和研究,确立了需求分析,在B/S模式的基础下,使用SpringBoot+MyBatis框架,MySQL作为系统数据库,通过此来实现业务逻辑的管理,和对人事信息相关的部分进行统一集中的管理。
2.2.1 SpringB oot+MyB atis的项目整合
SpringBoot作为Pivotal团队开发的全新框架,其设计目标是简化Spring应用的初始搭建及开发过程烦琐的配置,使开发人员不再需要定义样板化的配置。开发人员通过这种方式可以快速开发与部署Java EE项目。同时,项目构建过程利用ma-ven管理项目所依赖的类库,SpringBoot和MyBatis的整合双兼顾两者优点,利于整个系统的开发、管理以及可扩展性。
本文基于SpringBoot+MyBatis整合开发实现了高校人事信息发布系统,利用maven管理项目依赖的类库。构建项目的基本过程首先需要在pom.xml文件中引入spring-boot-start-parent和spring-boot-starter-web依赖,并设计一个启动类。之后将MyBatis、MySQL等依赖整合在pom.xml文件,最后,配置项目的application.properties文件。
2.2.2 数据库连接池
本文介绍的系统采用数据库连接池技术管理程序与数据库的连接。系统选用阿里的Durid数据库连接池技术,Durid不仅仅是一个数据库连接池,也是一个JDBC的组件,可以通过StatFilter插件来监控数据库访问性能,数据库加密等很多优点。
因此使用Druid组件,需要在maven中的pom.xml文件中添加pom依赖,然后配置application.properties文件,添加配置信息,之后可以根据需要配置WebFilter、WebServlet,扫描Servlet,初始化DataSource。部分核心代码为:
com.alibaba<,groupld>
druid
1.7.25
spring. datasource. url=j dbc: mysql://localhost: 3306/rsc ?useSSL=true
spring.datasource.username=root
spring.datasource.password=mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring. datasource. type=com. alibaba. druid. pool. DruidData-Source
2.3 系統数据库设计
数据库设计分为以下五个步骤:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理设计阶段和数据库实施阶段,经过这些步骤分别得到数据字典、用E-R图表示的概念模型(即实体一联系图)、概念模型转换为MySQL所支持的数据模型、数据模型所适合的物理结构以及用MySQL所提供的数据语言和宿主语言J2EE进行建库、编制和运行。
高校人事信息发布系统总共包括六个表:用户表、优秀教师表、人才表、公告表、文件表和目录表,E-R图如图1所示。
3 系统业务的设计与实现
3.1 人事系统管理模块的实现
高校人事信息发布系统分为两类角色:普通用户和管理员用户。普通用户只具有查询和浏览信息的功能,而各类信息的管理与发布由管理员用户来实现。
管理员用户所具有的职责为:新闻管理、人才管理、分类管理、下载管理、用户管理。
1)新闻管理。发布与管理人事方面的新闻与公告,由于系统前端采用LayUI框架,该框架内置了富文本编辑器,具有在线编辑、样式管理、图片管理等功能。
2)人才管理。该模块主要展示高校优秀人才信息。本系统支持多级用户编辑与审核人才信息,从而保证了数据信息正确、规范和及时性。
3)分类管理。该模块为系统多级管理机制与可扩展性,便于归类不同的信息。
4)下载管理。该模块提供了人事信息相关文件统一下载管理,分时分类,可以随时添加与删除。同时,不同类型角色提供了不同权限管理与下载文件。
5)用户管理。该模块主要是用户基本信息与权限管理,提供了自定义用户角色与访问控制,具有较高的灵活性和安全性。项目功能结构如图2所示。
3.2 主要功能实现
本文以信息发布模块为例介绍系统的功能实现。信息发布模块包括了系统账号綁定、信息管理和信息发布三个二级模块。
3.2.1系统账号绑定
管理员登录系统后台以后点击信息发布模块,再点击“系统账号绑定”将自己的账号绑定到发布模块,绑定成功后,会调用相关的API获取该信息,转化成本地数据库记录存储,并且在页面上显示系统账号的描述、绑定状态、关联用户等。对应的部分代码如下:
@Controller
public class UserController{
@Autowired
private UserService userService;
@GetMapping(”/users”)
public String list(Model model)(
List userList= userService.getAIIUser0;
model.addAttribute(" userList " , userList);
return "user/list";}
@GetMapping("/user")
public String toAddUser0 {
return "user/add";}
@PostMapping("/user")
public String addUser(User user, Model model) {
user.setUstatus("在线 ");
int result = userService.addUser(user);
return "redirect:/users";}
3.2.2 信息发布
该功能包括新闻管理、人才管理,下载管理各类相关信息。文件下载的核心代码如下 :
public static String downloadFileUpload(MultipartFile multi-partFile, String path) throws
IOException {
String fileName = uploadTool(multipartFile, path);
return fileTargetPrefix + fileName;}
public static StringD fileListUpload(MultipartFile[] fileList,String storeFilePath, String nid) throws IOException {
List nameList = new ArrayList0;
for (MultipartFile appendix : fileList) {
String filename = uploadTool(appendix, storeFilePath);
nameList. add(fileListTargetPrefix + nid + "/" + file-name);}
String[] fileNameList = new String[6];
for (int i = 0; i < fileList.length; i++) {
fileNameList[i] = nameList.get(i); }
return fileNameList;}
public static List getFilePathAndName(List filePathList) {
List fileList = new ArrayList<> 0;
for (int i = 0; i < filePathList.size0; i ++) {
String filePath = filePathList.get(i);
FilePathAndName filePathAndName = new FilePathAnd-Name0;
filePathAndName.setFilePath(filePath) ;
String tempName = filePath.trim0;
String filename = filePath. substring(tempName. lastln-dexOf(”/”)+1);
filePathAndName.setFileName(filename);
filePathAndName.setFilelndex(i);
fileList.add(filePathAndName);】
return fileList;1
3.3 系統安全设计
人事信息涉及了高校人事档案信息,对安全有很高的要求。因此,系统的安全性尤为关键。本文系统的安全性主要包含以下方面。
1)权限管理。信息系统使用基于角色的介入控制,将用户与角色、角色与权限联合起来,不同类型的用户分配不同的权限即角色(角色是一组权限的集合),各类用户各司其职,各自实现各自的业务逻辑,互不干涉,以达到用户与介人权限之间的逻辑分离,从而使权限的管理更加便利。
2)数据加密。人事管理的基础数据库存储了一些关键信息和敏感数据,因此数据库的安全性异常重要。数据加密是保护数据库中数据安全的较好方法。同时配置文件中也可能会含有敏感信息,所以还要加密配置文件。
4 结论
本文介绍了高校人事信息发布系统的主要业务逻辑、系统设计以及人事管理的主要工作流程,通过该系统可以更加有效地进行高校人事管理工作并确保数据的完整性、及时性、准确性和共享性,在人机交互管理的基础上实现人事管理与服务的提升。
参考文献:
[1]冷辉,刘晓峰.基于.NET平台的高校人事管理系统设计[Jl.合肥工业大学学报(自然科学版),2011,34(12):1889-1893.
[2]熊丽婷,陈政,何城波.基于云计算的人事管理系统设计与实现[J].软件工程,2017,20(12):29-31.
[3]胡泳霞.基于J2EE架构的人事管理系统模块的设计与实现[Jl.知识经济,2016(18):76-77.
[4]吕睿光.高校人事管理系统的设计与实现[D]。长春:吉林大学,2013.
[5]杨鹏,徐建.基于J2EE的高校人事管理系统的设计与实现[Jl-电子设计工程,2018,26(17):54-56,61.
[6]郭海智,冯玉松.基于Spring+SpringMV C+Mybatis的业余足球俱乐部管理系统[J].电脑知识与技术,2019,15(9):71-72,76.
【通联编辑:唐一东】