


收稿日期: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登錄界面。設計登錄人員權限和數量代碼示例如下: