0


数据库课设 - 机票预订系统


程序演示👀

​​​​​​​​​​​​​​

✨技术栈springmvc + mybatis + thymeleaf + bootstrap✨

此课程设计使用了较为全面的前后端框架,mybatis数据库框架,thymeleaf前端模版引擎,bootstrap组件库。程序分为客户端和管理端,管理端可以管理客户信息以及订单航班,一定会在技术选型方面为你加分!!

对于想学习各种框架的同学,这个项目是很易于上手的。对于想直接运行程序,并且借鉴参考的同学,我在本篇文章会详细的说明如何完整的配置此项目。有任何问题欢迎评论区提出!

需求分析📖

✈️系统简介:

1.系统简介一套为方便旅客、代旅客预定机票的小型数据库应用系统。

2.系统功能​​​​​​​系统分为两大模块:基本相互独立,进入方式不同

3.航司管理员模块:通过管理员的url进入,使用账号密码进行登录,进入以后可以对航班信息进行增删改查,可以重置、注销用户,可以对订单信息进行删除,可以注册新的管理员和修改自己的管理员信息

4.普通用户模块:默认进入这个模块,以绑定的手机号码进行登录,可以在此查询航班信息,选择航班进行下单预订、支付,支付后带没起飞的航班可以进行改签和退订,下单后有15分钟的支付时限,未支付订单过时间自动失效,并且可以修改自己的个人信息,进行修改。

✈️数据流图:

​​​​​​​ ✈️部分数据字典:

表名:admin

Admin

含义:

管理员信息表

列名

含义

数据类型

P

N

I

admin_id

管理员ID

Int

1

1

1

admin_name

管理员账号

varchar(255)

1

password

管理员密码

varchar(255)

1

表名:user

user

含义:

用户信息表

列名

含义

数据类型

P

N

I

user_id

用户ID

int

1

1

1

username

用户名

varchar(255)

1

password

用户密码

varchar(255)

1

telephone

绑定手机

varchar(255)

1

email

绑定邮箱

varchar(255)

1

表名:airway

airway

含义:

航线信息表

列名

含义

数据类型

P

N

I

airway_id

航线ID

int

1

1

1

departure

出发地

varchar(255)

1

arrival

到达地

varchar(255)

1

✈️数据库ER图

✈️建库、建表代码

(1)    数据库建立
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;

首先将程序跑起来🏃‍♀️

(1)下载项目的源代码,推荐使用IDEA打开项目

(2)本项目为前后端分离。因此我们需要一个服务器将项目跑起来。我选择的是当下较为流行的本地服务器Tomcat。参考文章:(当你已经完成第一步,并下载好了Tomcat,配置Tomcat服务器可以从文章的第三步开始)IDEA快速配置Tomcat(3分钟)_GarsonW的博客-CSDN博客

但是因为缺乏上下文索引,有可能当前这一步是没有显示图片的解决,方法如(3)

(3)当我们配置完Tomcat,其实程序就可以运行了,但是由于服务器是索引不到本地的video、css、images等文件的,所以我们才用了配置服务器上下文的方式,使用上述文件,具体配置方法:Tomcat访问本地文件(一定成功)_GarsonW的博客-CSDN博客

(4)此时我们完成了服务器的配置,接下来我们需要对Mybatis数据库配置文件进行修改

** src->resources->jdbc.properties**

      将jdbc.username和jdbc.password修改为自己数据库的账号密码

🎉项目配置完成!

** ⚠️需要源程序代码的同学评论区dd我,我一般都在线上!**

标签: mysql 数据库

本文转载自: https://blog.csdn.net/m0_56190554/article/details/127560148
版权归原作者 GarsonW 所有, 如有侵权,请联系我们删除。

“数据库课设 - 机票预订系统”的评论:

还没有评论