郭海智 馮玉松
摘要:通過調查預計到2022年,我國將有6000萬的足球人口,目前存在足球愛好者人員分散、場地利用不充分等問題,針對該問題,設計和實現(xiàn)了基于SpringMVC的業(yè)余足球俱樂部管理系統(tǒng),該系統(tǒng)采用SpringMVC+Mybatis+Maven架構。利用該系統(tǒng),可充分進行資源的利用,管理球隊成員、球隊賽事、球隊日程,提高業(yè)余足球俱樂部的管理。
關鍵詞:SpringMVC 架構;管理系統(tǒng);Mybatis
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2019)09-0071-02
Abstract:According to the survey,it is estimated that there will be 60 million football population in China by 2022. At present,there are some problems such as scattered football enthusiasts and insufficient utilization of football venues.To solve this problem,an amateur football club management system based on Spring MVC is designed and implemented.The system adopts Spring MVC+Mybatis+Maven architecture.Using this system,we can make full use of resources,manage team members, team events, team schedule, and improve the management of amateur football clubs.
Key words: Spring MVC architecture;management system;Mybatis
隨著互聯(lián)網(wǎng)的發(fā)展及廣泛的應用,人們生活水平不斷地提高,全民健身運動的深入發(fā)展。足球運動在我國普及度變高,業(yè)余足球俱樂部也在近幾年越來越多,由于業(yè)余足球的參與性高、兼顧競技和娛樂健身的特點,因而使得大量足球愛好者被吸引到業(yè)余足球的活動中來。互聯(lián)網(wǎng)也迎合了足球愛好者不斷發(fā)展的需求,足球產(chǎn)業(yè)信息化可以滿足當前市場的需求,以其突出的優(yōu)勢解決了足球資源的浪費,降低了成本,提高了效率等問題。足球運動是團隊體育項目的典型代表,足球愛好者不僅僅滿足于簡單地看比賽,更希望在自己閑暇時間踢踢球,但也面臨著一些問題,如周圍的足球愛好者人數(shù)不多,每個人的空閑時間不相同,難以組織比賽。因此,如何利用信息化技術有效地管理足球愛好者,精準地提供比賽信息等,是目前業(yè)余足球俱樂部面臨的問題。由此也就需要開發(fā)一款基于Spring+SpringMVC+Mybatis的業(yè)余足球俱樂部管理系統(tǒng)。
1 關鍵技術
1.1B/S結構介紹
B/S(Browser/Server)瀏覽器/服務器模式,B/S是一種基于WEB技術平臺的系統(tǒng)模式。這種模式將系統(tǒng)集中到服務器上,只要在客戶機上安裝瀏覽器就可以實現(xiàn)與服務器之間的數(shù)據(jù)交互。而且B/S模式維護升級方式簡單,成本低,降低服務器復合。它和C/S(Client/Server)的主要區(qū)別可以分兩個方面:一是硬件環(huán)境不同,C/S是在專用的網(wǎng)絡上,小范圍的數(shù)據(jù)交互,而B/S建立在廣域網(wǎng)上的有著比C/S更強的適用范圍;二是用戶接口的不同,B/S建立在服務上,C/S建立在window平臺上,因此C/S維護成本要高于B/S。
1.21.5 MySQL
MySQL自從被開發(fā)及應用以來,一直是最受歡迎的軟件之一。MySQL完全適用于網(wǎng)絡,
其數(shù)據(jù)庫可以和網(wǎng)絡上任意地方的任何人實現(xiàn)共享。MySQL的特點如下:
1)MySQL數(shù)據(jù)庫是開源的,價格上是能免費使用;
2)MySQL運行速度是很快;
3)對多種字符集的完全支持;
4)支持SQL算法的查詢,可以得到優(yōu)化,能大大提高查詢的速度;
5)MySQL是小巧的,占用空間小;
6)可以提供對數(shù)據(jù)的隨機訪問;
7)支持多種的語言;
8)提供 TCP/IP、ODBC 和 JDBC等多種數(shù)據(jù)庫連接途徑。
1.3 Tomcat服務器
Tomcat是目前最流行的Java Web服務器,Tomcat 很受使用者的鐘愛,原因在以下幾個優(yōu)秀的特點;第一工作時候的效率高于其他服務器,而且支持的功能總類煩多基本滿足大部分的需求;第二它還在不斷地升級和改善中因此可發(fā)展極強,任何一個使用者都可以更改它或加入新功能來滿足自己的功能需求。Tomcat 服務器通過 Connector 連接器組件與客戶程序建立連接,并負責接收客戶請求和響應結果。
1.4Mybatis
Mybatis 是一個持久層的框架,能夠自動在java和C#等語言中與SQL數(shù)據(jù)庫和對象之間的映射。它利用映射功能將SQL語句嵌套在XML文件中,使得應用程序與數(shù)據(jù)庫的查詢就可以完全的分離開來。使用的過程需要注意以下幾點:
1)namespace大家需要根據(jù)自己的工程的包名稱,調整namespace的包前綴,GetXXXInfo需要與中定義的接名稱完全相同,否則無法建立映射。
2)select標簽的id屬性必須中定義的getXXX方法名稱完全相同,resultType屬性的值需要與中定義的XXX類的類名完全相同,需要填寫完整的包名+類名。
3)mapper的resource屬性的值,要使用斜線作為分隔符,使用“.”系統(tǒng)可能無法識別。
4)resource的值必須與之前定義的SqlSessionFactory文件名稱完全一致
1.5 Spring+SpringMVC+Mybatis+Maven+Mysql 整合技術
Spring+SpringMVC+Mybatis+Maven +Mysql整合開發(fā)實現(xiàn)業(yè)余足球管理系統(tǒng),為了開發(fā)代碼時條理清晰,系統(tǒng)各個模塊之間松耦合,實現(xiàn)過程是通過SpringMVC分離了控制器、模型對象、分派器以及處理程序對象的角色,且SpringMVC控制訪問的頁面,將得到的頁面參數(shù)傳遞給Spring中的MyBatis的bean類,然后查找MySQL數(shù)據(jù)的功能,并通過FreeMarker模版顯示給用戶。開發(fā)時采用Maven來管理項目,其帶來的好處有:1)項目構建Maven定義了軟件開發(fā)的整套流程體系,并進行了封裝,開發(fā)人員只需要指定項目的構建流程,無須針對每個流程編寫自己的構建腳本;2)依賴管理除了項目構建,Maven最核心的功能是軟件包的依賴管理,能夠自動分析項目所需要的依賴軟件包,并到Maven中心倉庫去下載。管理依賴的jar包和管理工程之間的依賴關系。這樣的組合框架可以隔離各個層次之間的依賴性。此種架構開發(fā)出來實現(xiàn)的系統(tǒng)對后期的維護與二次開發(fā)帶來了很大的便利。
2 系統(tǒng)功能設計
經(jīng)過前期充分調研,本系統(tǒng)是一款為業(yè)余足球隊開發(fā)的。通過系統(tǒng),可以方便地管理球隊成員、球隊賽事、球隊日程。領隊創(chuàng)建球隊,邀請隊員們參加。領隊創(chuàng)建比賽、活動,邀請隊員們報名,同時還可以找到附近的足球場地信息。用戶可以通過創(chuàng)建球隊,尋找和你一樣的足球愛好者,尋找球場,約人比賽等等。
2.1 登錄功能
用戶登錄時,需要輸入用戶名和密碼,前端將密碼用MD5加密后傳輸。登錄后,所有
界面上要顯示用戶的昵稱、所在球隊圖標(按鈕)、球隊賽事、球隊日程等功能。異步數(shù)據(jù)接口要求如下:
1)默認權限為需要登錄;
2)返回統(tǒng)一為 json 數(shù)據(jù),格式為:{code:xxx,message:xxx,result:xxx};
3)code為200,表示請求成功,其他表示異常;
4)當code不是200 時,message中應說明原因。
對應的核心代碼如下:
@Controller
@RequestMapping(value="/ghzAPI")
public class PersonCotroller {
@Autowired
private PersonService personService;
@RequestMapping(value="login",method = RequestMethod.POST)
@ResponseBody
public Json login(@RequestParam("userName") String userName, @RequestParam("password") String password,
ModelMap map, HttpSession hs){
Person person = personService.getPersonByUserName(userName);
if(person!=null && person.getPassword().equals(password)){
Map
user.put("id", person.getId());
user.put("username", person.getUsername());
user.put("usertype", person.getUsertype());
hs.setAttribute("user", user);
return new Json(200, "登錄成功!", true);
} else {
return new Json(220, "登錄失敗!", false);
}
}
}
2.2 上傳圖片功能
此功能可以用于用戶登錄成功后,上傳個人的照片、球隊比賽的照片和記錄個人業(yè)余足球生涯的相冊等功能。異步數(shù)據(jù)接口要求如下:
1)默認權限為需要登錄;
2)返回統(tǒng)一為 json 數(shù)據(jù),格式為:{code:xxx,message:xxx,result:xxx};
3)code為200,表示請求成功,其他表示異常;
4)當code不是200時,message中應說明原因。
對應的核心代碼如下:
@RequestMapping(value = "/ghzAPI/upload", method = RequestMethod.POST)
@ResponseBody
public Json apiUpload(@RequestParam("id") int id, @RequestParam("url") String url) {
if (id > 0 && url.trim().length() > 0) {
return new Json(200, url, true);
} else {
return new Json(220, "上傳失敗!", false);
}
}
3 結束語
該系統(tǒng)特色與創(chuàng)新點,方便球隊約球,方便球隊管理,出勤管理,排兵布陣,隊費管理,發(fā)現(xiàn)周圍球隊,同城球隊約球,查看場地信息方便訂場等功能。本系統(tǒng)目前只是實現(xiàn)了基本功能,但如何將業(yè)余足球俱樂部的管理與各個城市場地信息實時結合起來,例如足球場地發(fā)布活動優(yōu)惠,賽事等信息,例如利用業(yè)余球員平時參賽數(shù)據(jù)的參考模型生成有價值的信息,等功能尚未實現(xiàn),這將是下一步系統(tǒng)設計與實現(xiàn)的目標。
參考文獻:
[1] 劉京華.Java Web整合開發(fā)王者歸來[M].北京:清華大學出版社,2010.
[2] 易國平,龍啟文.足球比賽管理系統(tǒng)設計[J].數(shù)字技術與應用,2015(7).
[3] 姜科.牡丹江市業(yè)余足球聯(lián)賽參賽球隊研究[D].北京:北京體育大學,2012.
[4] 楊慧.基于SpringMVC與iBATIS框架的企業(yè)工單管理系統(tǒng)的設計與實現(xiàn)[D].北京:中國科學院大學(工程管理與信息技術學院),2015.
【通聯(lián)編輯:代影】