999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Java語言的地鐵數據庫網站設計與實現

2024-06-18 10:15:06萬志強
現代信息科技 2024年7期

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

歡迎使用 設備故障信息管理系統

option="{theme:'yellow_right_effect',stopOnError:true}">

placeholder="密碼"data-rule="密碼:required;password"id="password">

2)list列表界面。設計的功能是基于列表客戶信息提供搜索功能,代碼示例如下:

="輸入客戶名稱搜索" id="sousuo"value ="${customer}">

3)edit編輯界面。主要功能是進行信息編輯錄入,代碼示例如下:

4)info信息記錄界面。主要功能是記錄單條信息,代碼示例如下:

故障信息管理表

2.3? 數據庫連接和Web映射設計

數據庫連接轉化過程中起到關鍵作用的另外一個框架就是用MyBatis來實現的,MyBatis支持定制化存儲過程的映射,MyBatis避免了幾乎所有的JDBC代碼以及手動設置參數與獲取結果集,通過MyBatis可以使用簡單的XML或注解來配置和映射原生信息,將接口和Java映射成數據庫中的記錄。因為對于傳統的JDBC連接框架來說,Where條件不一定只有一個,可能有很多,這樣占位符就要和參數一一對應,而當數據庫發生變化時對應的代碼也需要變化,相形之下,MyBatis省卻了大量的冗余代碼,所以我們采用MyBatis操作模式[7]。

而我們選擇這種模式的大概流程如下:

1)讀取配置文件mybatis-config.xml創建SqlSessionFactory會話工廠,一個配置文件可以加載多個映射文件,每個映射文件對應數據庫中的一張表。

2)通過SqlSessionFactory創建SqlSession對象,每個對象包含執行SQL語句的所有方法。

3)通過Executor接口將SqlSession傳遞的參數生成SQL語句。

4)通過Executor接口的MappedStatement對SQL數據封裝后形成Java類進行存儲和輸出。

我們建立數據庫來存儲數據利用編碼來訪問和修改數據,加載SQL映射文件,使用包導入的方式依次創建mapper包,新建映射文件,封裝services功能[8],通過把后端的解析后數據發送到前端來實現。建立Web頁面與數據庫的連接,實現代碼如下:

jdbc.type=MySQL

jdbc.driver=com.MySQL.jdbc.Driver

jdbc.url=jdbc:MySQL://localhost:3306/stusystem?useUnicode=true&characterEncoding=utf-8

jdbc.username=root

jdbc.password=123456

Web網頁連接數據庫是基于一種稱為“服務器模式”的通信模型。在這種通信模型中,客戶端通過網絡向服務器發送請求,服務器接收并處理這些請求,然后向客戶端返回所請求的數據。這種通信模型可以通過多種不同的協議(如TCP/IP、HTTP等)來實現。而在Web網頁連接數據庫中,常用的協議是HTTP協議,我們主要采用的映射就是通過域名申請花生殼等工具進行轉發實現公網映射,JSP調用本地localhost之后[9],使用映射工具對本地localhost端口進行轉發映射,通過HTTP代理的映射協議設置流量帶寬映射模式等參數,如圖5所示。

圖5? 映射配置圖

3? 功能實現和調試

3.1? 信息預覽

調試是產品設計過程中非常重要的一環,是檢驗設計成果的一種方法。數據庫網站的最主要功能就是信息發布,能讓地鐵人做到足不出戶盡知天下事,如圖6所示為維護人員通過登錄客戶端進行信息更新后發布到Web頁面的效果圖,展現了Web與數據庫表聯動的過程。

3.2? 信息查詢

當用戶不確定要瀏覽什么信息時,可能會無從下手。在線進行網站的數據庫搜索,只需輸入幾個模糊的關鍵字即可,此功能涉及的JSP代碼就是Web和數據庫建立連接的功能模塊,當輸入想要搜尋的信息時,代碼就可以按照要求顯示出某一范圍內的信息,從而快速確定瀏覽目標。如圖7所示為搜索頁面效果圖交互相關的部分,采用類似設計理念的門戶型網站就屬于在線查詢類網站,可以通過搜索引擎快速檢索網站和網頁的信息,使用戶實現網絡導航。

3.3? 數據更新發布維護

作為可不斷更新和維護的網站,數據的實時更新和維護是重中之重,如圖8所示為更新頁面效果圖,通過更新修改刪除頁面等操作,維護人員把實時狀態共享給地鐵不同區域的工作人員,而相對于信息瀏覽和查詢將數據調用出來的操作,數據更新則是將數據寫到數據庫中進行保存以便后續使用。

圖8? 更新效果圖

程序測試到了這個階段,代碼結構得到了充分的展開,每一個組件充分的解藕,能夠根據系統負載針對特定的瓶頸進行優化擴容升級。到了這個時候測試已沒有了固定的模式,所以我們要做的就是盡量去除系統Bug找到優化空間[10],根據實時的需求去改變我們的輸出結構。我們常用的MySQL都是OLTP型關系型數據庫,也就是針對聯機事務處理優化模式工作的數據庫,并且是針對增刪改查等操作進行專門優化,而相對于其他數據庫來說這種模式的優點就是速度快、占用內存小。

我們針對性地進行了如下測試:

1)服務器速度測試。測試結果帶寬超過1 Gbit/s。

2)數據存儲測試。測試結果服務器錄入超過千條內存占用不超過10 MB。

3)服務器占用前端和后端緩存測試。測試結果緩存4~8 GB可以流暢運行。

4)同時支持在線人數線程測試。測試結果支持在線人數超過10人。

5)后臺表更新維護測試。測試結果每個數據表更新不超過5分鐘。

4? 結? 論

本文通過Web設計的新舊架構對比和線下業務向線上發展效果的演示,體現了Web前端技術順應時代變化的優勢,其中包括單機程序、網絡程序、終端模式、更新迭代以及架構模式,本文設計的架構在功能和性能上都有了很大的提高,另外作為網絡媒介實現了多個區域不同人員的遠程聯動。優秀的框架相當于一個好的解決方案,節省了時間和人力成本,減少了bug的出現,可以使相關人員將更多的精力投放到業務和產品上,故而設計的網站在使用過程中得到了車廠和地鐵售后人員的一致好評。

參考文獻:

[1] 李宗凱.城市軌道交通車輛段上蓋開發結構設計 [M].北京:中國建筑工業出版社,2022.

[2] 郭凱,孔繁玉,張有寬.Web前端開發實戰 [M].北京:清華大學出版社,2023.

[3] 劉乃琦,王沖.JSP應用開發與實踐 [M].北京:人民郵電出版社,2012.

[4] 趙明淵.MySQL數據庫技術與應用 [M].北京:清華大學出版社,2021.

[5] 克雷格·沃斯.Spring實戰:第6版 [M].北京:人民郵電出版社,2022.

[6] 方志朋.深入理解Spring Cloud與微服務構建:第2版 [M].北京:人民郵電出版社,2019.

[7] 江榮波.MyBatis 3源碼深度解析 [M].北京:清華大學出版社,2019.

[8] 姜林楓,趙龍,徐長滔,等.數據庫原理與應用技術 [M].北京:北京師范大學出版社,2020.

[9] 虞紅芳,孫罡,狄浩,等.虛擬網絡映射技術 [M].北京:科學出版社,2014.

[10] 杜慶峰.軟件測試技術:第2版 [M].北京:清華大學出版社,2021.

作者簡介:萬志強(1982—),男,漢族,遼寧大連人,助理工程師,本科,研究方向:嵌入式設計與開發。

主站蜘蛛池模板: 黄色网页在线观看| 亚洲AⅤ永久无码精品毛片| 国产区91| 精品伊人久久久久7777人| 波多野结衣国产精品| 亚洲欧美一区二区三区蜜芽| 免费在线一区| 国产中文在线亚洲精品官网| 2019年国产精品自拍不卡| 一本一本大道香蕉久在线播放| 综合天天色| 99精品视频九九精品| 天天摸夜夜操| 无码高潮喷水在线观看| 精品在线免费播放| 欧美日本在线观看| 久久国产精品麻豆系列| 无码丝袜人妻| 97在线视频免费观看| 国产一区二区三区在线观看免费| 国产美女自慰在线观看| 在线看片中文字幕| 又猛又黄又爽无遮挡的视频网站| 999国内精品久久免费视频| 亚洲高清资源| 国产一区二区三区日韩精品| WWW丫丫国产成人精品| 国产成人凹凸视频在线| 亚洲欧美日韩动漫| 91成人在线免费视频| 国产男女免费视频| 福利视频一区| 国产成人综合亚洲欧美在| 亚洲h视频在线| 九色视频一区| 亚洲一区二区在线无码| 精品国产成人a在线观看| 国产精品19p| 精品国产成人三级在线观看| 人人爽人人爽人人片| 亚洲人成网7777777国产| 亚洲国产理论片在线播放| 国产成人无码AV在线播放动漫 | 亚亚洲乱码一二三四区| 国产成人精品一区二区三区| 最新国产高清在线| 91视频免费观看网站| 國產尤物AV尤物在線觀看| 久久一本精品久久久ー99| 99伊人精品| 欧美69视频在线| 美女高潮全身流白浆福利区| 亚洲第一天堂无码专区| 自偷自拍三级全三级视频| 日韩一级二级三级| 欧美中文字幕无线码视频| 狠狠v日韩v欧美v| 亚洲天堂免费| 免费无码AV片在线观看国产| 欧美日韩一区二区在线免费观看| 亚洲国产午夜精华无码福利| 国内丰满少妇猛烈精品播| 国产一二三区在线| 亚洲欧美自拍一区| 国产经典在线观看一区| 色窝窝免费一区二区三区 | 免费在线看黄网址| 国产JIZzJIzz视频全部免费| 国产精品无码作爱| 欧美一级99在线观看国产| 亚洲另类色| 国产sm重味一区二区三区| 欧美日韩亚洲国产| 这里只有精品在线| 午夜人性色福利无码视频在线观看| 中文字幕在线看| 亚洲第一黄片大全| 亚洲伊人电影| 国产成人免费高清AⅤ| 国产综合色在线视频播放线视| www亚洲天堂| 精品国产自在现线看久久|