目錄
程序演示??
需求分析??
將程序跑起來(lái)???♀?
?程序演示??
?技術(shù)棧springmvc + mybatis + thymeleaf + bootstrap?
此課程設(shè)計(jì)使用了較為全面的前后端框架,mybatis數(shù)據(jù)庫(kù)框架,thymeleaf前端模版引擎,bootstrap組件庫(kù)。程序分為客戶端和管理端,管理端可以管理客戶信息以及訂單航班,一定會(huì)在技術(shù)選型方面為你加分?。?/p>
對(duì)于想學(xué)習(xí)各種框架的同學(xué),這個(gè)項(xiàng)目是很易于上手的。對(duì)于想直接運(yùn)行程序,并且借鑒參考的同學(xué),我在本篇文章會(huì)詳細(xì)的說(shuō)明如何完整的配置此項(xiàng)目。有任何問(wèn)題歡迎評(píng)論區(qū)提出!
需求分析??
??系統(tǒng)簡(jiǎn)介:
1.系統(tǒng)簡(jiǎn)介一套為方便旅客、代旅客預(yù)定機(jī)票的小型數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。
2.系統(tǒng)功能系統(tǒng)分為兩大模塊:基本相互獨(dú)立,進(jìn)入方式不同
3.航司管理員模塊:通過(guò)管理員的url進(jìn)入,使用賬號(hào)密碼進(jìn)行登錄,進(jìn)入以后可以對(duì)航班信息進(jìn)行增刪改查,可以重置、注銷用戶,可以對(duì)訂單信息進(jìn)行刪除,可以注冊(cè)新的管理員和修改自己的管理員信息
4.普通用戶模塊:默認(rèn)進(jìn)入這個(gè)模塊,以綁定的手機(jī)號(hào)碼進(jìn)行登錄,可以在此查詢航班信息,選擇航班進(jìn)行下單預(yù)訂、支付,支付后帶沒(méi)起飛的航班可以進(jìn)行改簽和退訂,下單后有15分鐘的支付時(shí)限,未支付訂單過(guò)時(shí)間自動(dòng)失效,并且可以修改自己的個(gè)人信息,進(jìn)行修改。
??數(shù)據(jù)流圖
??頂層圖
??數(shù)據(jù)庫(kù)ER圖
??建庫(kù)、建表代碼
??復(fù)制使用了建表代碼記得要將order表的主鍵order_id設(shè)置為自增哦! 不然會(huì)報(bào)錯(cuò)
(1) 數(shù)據(jù)庫(kù)建立
1. CREATE DATABASE /*!32312 IF NOT EXISTS*/`airlines` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='N' */;
(2) Admin表建立
1. DROP TABLE IF EXISTS `air_admin`;
2.
3. CREATE TABLE `air_admin` (
4. `admin_id` int NOT NULL AUTO_INCREMENT,
5. `admin_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
6. `password` varchar(255) NOT NULL,
7. PRIMARY KEY (`admin_id`)
8. ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb3;
(3) User表建立
1. DROP TABLE IF EXISTS `air_user`;
2.
3. CREATE TABLE `air_user` (
4. `user_id` int NOT NULL AUTO_INCREMENT,
5. `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
6. `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
7. `telephone` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
8. `email` varchar(255) NOT NULL,
9. PRIMARY KEY (`user_id`)
10. ) ENGINE=InnoDB AUTO_INCREMENT=127 DEFAULT CHARSET=utf8mb3;
(4) Airway表建立
1. DROP TABLE IF EXISTS `air_airway`;
2.
3. CREATE TABLE `air_airway` (
4. `airway_id` int NOT NULL AUTO_INCREMENT,
5. `departure` varchar(255) NOT NULL,
6. `arrival` varchar(255) NOT NULL,
7. PRIMARY KEY (`airway_id`),
8. UNIQUE KEY `cities_uni` (`departure`,`arrival`)
9. ) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8mb3;
(5) Aircraft表建立
1. DROP TABLE IF EXISTS `air_aircraft`;
2.
3. CREATE TABLE `air_aircraft` (
4. `aircraft_id` int NOT NULL AUTO_INCREMENT,
5. `model` varchar(255) NOT NULL,
6. `seats` int NOT NULL,
7. PRIMARY KEY (`aircraft_id`),
8. UNIQUE KEY `aircraft_uni` (`model`)
9. ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb3;
(6) Flight表建立
1. DROP TABLE IF EXISTS `air_flight`;
2.
3. CREATE TABLE `air_flight` (
4. `flight_id` int NOT NULL AUTO_INCREMENT,
5. `flight_num` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
6. `airway_id` int NOT NULL,
7. `departure_time` datetime NOT NULL,
8. `arrival_time` datetime NOT NULL,
9. `aircraft_id` int NOT NULL,
10. `price` decimal(12,2) DEFAULT NULL,
11. `available_seat` int DEFAULT NULL,
12. PRIMARY KEY (`flight_id`),
13. UNIQUE KEY `flight_date` (`flight_num`,`departure_time`,`arrival_time`),
14. KEY `flight_airway` (`airway_id`),
15. KEY `flight_aircraft` (`aircraft_id`),
16. CONSTRAINT `flight_aircraft` FOREIGN KEY (`aircraft_id`) REFERENCES `air_aircraft` (`aircraft_id`),
17. CONSTRAINT `flight_airway` FOREIGN KEY (`airway_id`) REFERENCES `air_airway` (`airway_id`)
18. ) ENGINE=InnoDB AUTO_INCREMENT=1038 DEFAULT CHARSET=utf8mb3;
(7) Order表建立
1. DROP TABLE IF EXISTS `air_order`;
2.
3. CREATE TABLE `air_order` (
4. `order_id` bigint NOT NULL,
5. `user_id` int NOT NULL,
6. `flight_id` int NOT NULL,
7. `passenger_name` varchar(255) NOT NULL,
8. `passenger_id_card_num` varchar(255) NOT NULL,
9. `contact` varchar(255) NOT NULL,
10. `order_time` datetime NOT NULL,
11. `status` bit(1) NOT NULL,
12. PRIMARY KEY (`order_id`),
13. UNIQUE KEY `flight_passenger` (`flight_id`,`passenger_id_card_num`),
14. KEY `order_user` (`user_id`),
15. CONSTRAINT `order_flight` FOREIGN KEY (`flight_id`) REFERENCES `air_flight` (`flight_id`),
16. CONSTRAINT `order_user` FOREIGN KEY (`user_id`) REFERENCES `air_user` (`user_id`)
17. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
如何將程序跑起來(lái)???♀?
(1)下載項(xiàng)目的源代碼,推薦使用IDEA打開(kāi)項(xiàng)目
(2)本項(xiàng)目為前后端分離。因此我們需要一個(gè)服務(wù)器將項(xiàng)目跑起來(lái)。我選擇的是當(dāng)下較為流行的本地服務(wù)器Tomcat。參考文章:IDEA快速配置Tomcat(3分鐘)_GarsonW的博客-CSDN博客
(當(dāng)你已經(jīng)完成第一步,并下載好了Tomcat,Tomcat服務(wù)器的配置可以從文章的第三步開(kāi)始)?
(3)但是因?yàn)槿狈λ饕?,打開(kāi)html文件是沒(méi)有圖片的,如上圖所示。我們用以下方法解決。服務(wù)器找不到本地的video、css、images等文件,需要通過(guò)上下文配置以訪問(wèn)本地文件。具體配置方法:Tomcat訪問(wèn)本地文件(一定成功)_GarsonW的博客-CSDN博客
(4)此時(shí)我們完成了服務(wù)器的配置,接下來(lái)我們需要對(duì)Mybatis數(shù)據(jù)庫(kù)配置文件進(jìn)行修改。配置文件的路徑:src->resources->jdbc.properties????????修改方式:將jdbc.username和jdbc.password修改為自己數(shù)據(jù)庫(kù)的賬號(hào)密碼???????
?
??項(xiàng)目配置完成!
???需要源程序代碼的同學(xué)評(píng)論區(qū)dd我,我一般都在線上!?
如果著急的話可以關(guān)注之后給我發(fā)私信,因?yàn)楝F(xiàn)在評(píng)論比較多了,看得比較慢!????????
??評(píng)論區(qū)問(wèn)題解決
根據(jù)很多小伙伴配置后,提出較多的問(wèn)題給出解決方案。
問(wèn)題一:
解決:我們添加航線信息的時(shí)候需要添加航線表中存在的航線,如果添加不存在的則會(huì)提示本錯(cuò)誤。此操作屬于多表操作,并非只新增航班條目,還會(huì)對(duì)airway表進(jìn)行查詢。如果添加航線表里面沒(méi)有的航線就會(huì)顯示此錯(cuò)誤。此頁(yè)面是我們自己寫(xiě)的報(bào)錯(cuò)頁(yè)面,并不是程序報(bào)錯(cuò),是在程序報(bào)錯(cuò)之前檢查錯(cuò)誤并提示,也屬于程序的亮點(diǎn)之一。
問(wèn)題二:
解決:有小伙伴數(shù)據(jù)庫(kù)版本比較舊,所以可能出現(xiàn)數(shù)據(jù)庫(kù)驅(qū)動(dòng)不匹配,導(dǎo)致程序報(bào)錯(cuò)。將下方的jdbc.driverClass=com.mysql.cj.jdbc.Driver 中的cj去掉改為 jdbc.driverClass=com.mysql.jdbc.Driver 即可。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-456558.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-456558.html
到了這里,關(guān)于數(shù)據(jù)庫(kù)課設(shè) - 機(jī)票預(yù)訂系統(tǒng)(保姆級(jí)手把手教你配置)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!