收稿日期:2023-10-20
DOI:10.19850/j.cnki.2096-4706.2024.07.006
摘 要:地铁PIS系统为乘客提供高质量的站点广播服务和运营信息服务,是轨道交通车载服务系统的重要组成部分。为了提升地铁的安全级别和服务质量,实现PIS系统的网络平台信息化共享,提高信息交流效率和处理能力,设计一个基于Java语言的地铁数据库网站。采用Java和MySQL数据库等工具,使用行业最新的Spring+Springmvc+Mybatis三大框架在Eclipse平台上开发而成。采用Bootstrap前端开发框架可使用户获得更好的使用体验,使程序使用更加方便快捷。目前该数据库网站已应用于某公司地铁PIS系统管理,初步取得了良好的应用效果。
关键词:Java;MySQL;Web;Springmvc;数据库网站
中图分类号:TP393 文献标识码:A 文章编号:2096-4706(2024)07-0025-05
Design and Implementation of Subway Database Website Based on Java Language
WAN Zhiqiang
(Dalian West Technology Co., Ltd., Dalian 116031, China)
Abstract: The subway PIS system provides passengers with high-quality station broadcasting services and operational information services, and is an important component of the rail transit on-board service system. In order to improve the safety level and service quality of the subway, achieve informati-zation sharing of the network platform of the PIS system, improve information exchange efficiency and processing ability, it designs a subway database web-site based on Java language. Developed on the Eclipse platform using tools such as Java and MySQL databases, as well as the latest Spring+Springmvc+Mybatis frameworks in the industry. Using the Bootstrap front-end development framework can provide users with a better using experience and make program usage more convenient and efficient. At present, the database website has been applied to the management of a certain company's subway PIS system, and has achieved pre-liminary good application effects.
Keywords: Java; MySQL; Web; Springmvc; database website
0 引 言
地铁是城市现代化的一个重要标志。我国的人口密度较高,发展地铁可大大缓解交通压力[1]。近年来,随着全国各地掀起地铁建设热潮,地铁车载PIS服务系统也日趋完善。但是对应的数据共享服务和数据网络建设相对发展较慢,这也在使用中使客户的使用体验略显不足。
综上,本文设计了地铁PIS设备数据库管理网站,该网站是以Spring和Springmvc为框架,以Web为显示端口,以MySQL数据库为存储单元,以Java语言为桥梁的数据服务线上网站。该网站集成了所有PIS数据的存储,以映射网站的形式共享给客户和开发人员,从而实现资源共享和历史数据查询。通过该网站能够显著缩短设备运转流通的时间,高效定位问题,有序排列和搜寻所需数据,使用者可便捷直观地实时查看运行数据,从而摆脱了人工查询的烦琐,实现了24小时的无间断运行。而传统基于JDBC开发的网站存在维护困难、当数据或功能发生变化后因编码变化大而导致编写工作量大等不足。而在新架构模式下以上问题都能得到有效解决,完全符合我国信息时代高速发展的要求。
1 总体方案设计
基本功能结构框图如图1所示,具体分为数据库表设计、Web框架设计、数据库连接和Web转发设计。通过数据库表设计来存储区分管理员级别和录入信息存储单元的格式,通过服务器Web框架的设计来实现数据对应到浏览器的模式和外观[2],而数据库连接和Web转发设计则是连接以上功能的桥梁。以上理念贯穿了网站设计的全流程,进而实现了数据到Web的输出,浏览器也会将更新、修改、删除、增加等请求提交到Web服务器,Web服务器通过数据库建立的关联完成这些工作。
当用户登录时服务器就会进行身份识别,而对应的账号信息存储在MySQL表中,通过增加或修改用户名和密码来实现登录操作,Web端发起验证后会通过HTTP服务器转发到Web服务器调用到对应的处理程序进行验证,验证成功后再通过Web的框架设计模式进入对应的功能页。例如管理员模式的首选页面就是list界面,list界面通过之前的Web设计关联了搜索功能、编辑功能、增加功能、删除功能等,而这些功能对应的页面也是我们之前设计好的框架模式,每个页面包含的具体功能点则是通过Mybatis等架构设计JSP或XML文件将数据库和Web进行一一对应[3]。以上模式完全可以通过SQL语句满足操作数据库的所有需求,不会受到传统模式依赖于Web页面之类的限制,不会对应用程序或数据库的现有设计带来任何影响,将业务逻辑和数据访问逻辑分离,使系统的架构更清晰、更易维护。
图1 PIS数据库结构框
2 功能模块设计
2.1 数据库表设计
MySQL是一个广受Linux社区人们喜爱的半商业数据库,MySQL的守护进程消耗很少的内存,故而选择Navicat 15 for MySQL作为数据库进行编译和连接,它支持多种操作系统,支持多种开发语言,提供多种API接口,灵活安全的权限和密码系统允许主机的基本验证,连接到服务器时所有的密码传输均采用加密形式,从而保证了密码的安全。数据库功能设计分为两个部分:管理员表单设计、详细信息表单设计。
管理员表单的主要用途是区分不同登录人员的权限和所能调用的资源,而详细信息表单设计的初衷是记录我们所需的信息来实现增删改查等功能,同时基于MySQL的特有功能简化了备份和恢复环节,单靠数据导入/导出就可以完美复制这一功能。另外MySQL不使用原始的分区,所有的数据库数据能用一个文件系统备份保存,数据库活动能被记载,与通常的数据库日志不同,例如LOAD DATA INFILE命令为数据导入赋予很大的灵活性,SELECT INTO命令实现了数据导出的功能,MySQL常用的语句有以下几种[4]:
1)创建一个数据库:user MySQL> CREATE DATABASE user。
2)将每条数据加入数据库对应的表单中:MySQL> insert into mytable。
3)查询数据库所有数据:MySQL> select * from mytable。
4)修正数据库:MySQL> update mytable set name = "MVB" where name = "mvb"。
5)增加一列:MySQL> alter table mytable add column password char(1)。
6)删除数据列:MySQL> delete from mytable where name='MVB'。
而表设计和表管理等操作都是在以上前提(基于但不限于)下进行的,具体实例如图2所示。
2.2 Web框架设计
Web界面作为最直观地显示界面既是窗口又是整个项目的框架,编译所采用的Spring和Springmvc开发框架是当下最流行的Web端框架,对Web页面的美化起到不可替代的作用[5],同时在客户端使用Spring等进行数据验证,降低了服务器的负荷,减小了传输网络带宽,无形中也提升了用户的体验度。如今很多的大型网站都是使用类似的框架进行开发,涉及众多行业,如金融、电信、医疗等。
采用结构化、面向对象和基于组建的开发模式进行架构优化,具体结构框架如图3所示。
图3 项目模块结构框图
Spring框架改进了传统的架构[6],使其更具扩展性和灵活性,控制器和模型之间实现了紧密耦合:Spring通过使用控制反转和DI依赖注入来解决这个问题,如图4所示为实际开发中使用的目录脚本架构图。在Spingmvc架构模型下构建代码,当浏览器或客户端向服务器Servlet发起请求时,经过服务器处理后调用到映射器Mapping,而映射器的作用是根据处理器的请求找到对应的处理器,对应的处理器我们暂且称为后端处理器Ctrl,经过后端处理器Ctrl处理后形成ModleandView结果,而处理适配器HandlerAdapter会将从Ctrl接收的处理结果ModleandView返回到服务器Servlet,最后服务器会将ModleandView发送给视图解析器进行解析渲染,ViewReslvor渲染后再反馈到客户端显示。不同于传统框架只提供接口,Springmvc提供一套完整的组件供直接使用,这就相当于传统框架只给你提供设计图纸,你需要根据设计图纸把工具造出来,而Springmvc直接给你一套现成的工具箱,里面有你用得到的各种工具,不需要编写大量的代码只需调用对应的工具包就可以实现某种目的,而Springmvc另外一个让我们选择的点就是它的可扩展性好,能够通过升级工具进行功能更新,而其本身则是以Spring为基础框架,所能扩展的功能相对于其他工具来说更丰富实用。
图4 Spingmvc模块结构框图
作为代码编译的主体部分主要分为login登录界面、list列表界面、edit编辑界面、info信息记录界面:
1)login登录界面。设计登录人员权限和数量代码示例如下: