当前位置: 首页 > article >正文

课设:【ID0022】火车票售票管理系统(前端)

 技术栈:Java,JavaSwing,MySQL

数据库表数量:12个

1.功能描述   

管理员功能

管理员是系统的高级用户,拥有对整个系统的全面管理权限。管理员的功能模块包括以下六个方面:

  1. 对用户管理增删查改

  2. 对售票员管理增删查改

  3. 对售票点管理增删查改

  4. 对列车管理增删查改

  5. 对列车行程管理增删查改

  6. 对订单管理增删查改

售票员功能

售票员是系统的操作人员,主要负责日常的售票和相关事务处理。售票员的功能模块包括以下三个方面:

  1. 预订列表

    • 显示当前的预订列表,包括用户的预订信息。

  2. 预订记录

    • 显示历史预订记录,包括已完成的预订和已取消的预订。

    • 支持对预订记录的退款功能。

  3. 修改密码

    • 提供修改密码的功能,允许售票员定期或在需要时更改自己的登录密码。

2.制作思路及基础讲解

此项目主要是用于完成大二下半学期的数据库课设,随手记录。制作思路:首先是数据库作为存储数据的地方,编写根据课设要求编写好对应的建表语句和存储过程,视图,触发器等。然后编写好对应系统的Java代码,最后通过JDBC将Java代码与数据库连接起来。

  部分学生可能学的比较浅,不理解mysql,sqlserver,java,c等一堆名词之间的含义。之前有同学找我做过这类似的课设。问的问题都比较抽象,例如用mysql做一个系统之类的。在此简单说一下我对于这些的理解,mysql,sqlserver都是数据库的一种,只不过是外国的所以都是用英文表示,大部分上课不听的同学看到这一堆英文都会比较懵,其实只需简单把数据库(mysql,SQLServer)理解成存储数据的地方,而java,c等语言是用来编写系统逻辑功能的代码。当然在数据库中的存储过程或者触发器什么的,这些功能也能在代码编程语言中通过特定的逻辑实现类似的功能,只不过我们在数据库中写好的话,免去了Java中代码的编写量,并且查询时速度会更快。

3.使用工具及语言详解

不同的学校要求不同,有的是sqlserver,有的是mysql,但其实这两者的区别在我看来区别不大,大部分的语句格式都是一样的,所以我选择了我熟悉的一种,mysql来进行编写。在语言方面,我大一的时候学过c,但是当时没有认真听,后来也慢慢都忘了,大二时学了Java,并且之后又系统性的学了一遍,所以选择来用Java语言编写。对于编译器我使用的是IDEA,版本随意,这个不影响,但需要注意IDEA不是免费的,可以去试用30天,也可以自行网上找方法安装破解版。数据库可视化工具使用的是Navicat,这个工具同样也不是免费的,但提供14天试用期,有长期需求也需要各位自行找破解版。

PS:这里又提到两个新名词,IDEA和Navicat,这不是编程语言,而是工具的名字,大家需要慢慢熟悉这些名词,简单来说就是他能让你的编程之路变得更顺畅,提供了可视化的界面,不需要一直在黑窗口中输入代码

4.部分数据库建表代码

DROP TABLE IF EXISTS `customer`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `customer` (
  `customer_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `sex` int(11) DEFAULT NULL,
  `id_num` varchar(30) DEFAULT NULL,
  `tel` varchar(30) DEFAULT NULL,
  `customer_type` int(11) DEFAULT NULL,
  PRIMARY KEY (`customer_id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `customer`
--

LOCK TABLES `customer` WRITE;
/*!40000 ALTER TABLE `customer` DISABLE KEYS */;
INSERT INTO `customer` VALUES (1,'测试用户1',1,'111111111111111','11111111111',1),(2,'张三',0,'123123123123123','11111111111',0),(3,'李四',1,'22222222222222','33333333333',0),(4,'王五',0,'321321321321321','11111222222',0),(5,'燕六',1,'543215432154321','22222222222',0),(6,'七七',0,'112233445512345','11223344551',0);
/*!40000 ALTER TABLE `customer` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `manager`
--

DROP TABLE IF EXISTS `manager`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `manager` (
  `manager_id` int(11) NOT NULL AUTO_INCREMENT,
  `point_id` int(11) DEFAULT NULL,
  `username` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  `sex` int(11) DEFAULT NULL,
  `manager_type` int(11) DEFAULT NULL,
  PRIMARY KEY (`manager_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `manager`
--

LOCK TABLES `manager` WRITE;
/*!40000 ALTER TABLE `manager` DISABLE KEYS */;
INSERT INTO `manager` VALUES (1,1,'admin','12345','SuperManager',1,1),(2,1,'user1','12345','测试售票员',1,2);
/*!40000 ALTER TABLE `manager` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `passby`
--

DROP TABLE IF EXISTS `passby`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `passby` (
  `passby_id` int(11) NOT NULL AUTO_INCREMENT,
  `train_id` varchar(50) DEFAULT NULL,
  `station_order` int(11) DEFAULT NULL,
  `depart_station` int(11) DEFAULT NULL,
  `arrive_station` int(11) DEFAULT NULL,
  `distance` float DEFAULT NULL,
  `stay_time` int(11) DEFAULT NULL,
  PRIMARY KEY (`passby_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `passby`
--

LOCK TABLES `passby` WRITE;
/*!40000 ALTER TABLE `passby` DISABLE KEYS */;
INSERT INTO `passby` VALUES (1,'k1',1,1,2,2000,20),(2,'k1',2,2,3,1000,10);
/*!40000 ALTER TABLE `passby` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `seat`
--

DROP TABLE IF EXISTS `seat`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `seat` (
  `seat_id` int(11) NOT NULL AUTO_INCREMENT,
  `train_id` varchar(50) DEFAULT NULL,
  `carriage_num` int(11) DEFAULT NULL,
  `seat_num` int(11) DEFAULT NULL,
  `seat_type` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`seat_id`)
) ENGINE=InnoDB AUTO_INCREMENT=119 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `seat`

5.Java代码思路及结构

此处只放部分代码截图

 6.效果运行实例  

附带源码,数据库文件,根据不同项目需收费10-20元,有意可后台私信 


http://www.kler.cn/a/529312.html

相关文章:

  • Linux02——Linux的基本命令
  • C++并发编程指南08
  • Python3 【闭包】项目实战:5个新颖的学习案例
  • 解锁豆瓣高清海报(一) 深度爬虫与requests进阶之路
  • 【机器学习】自定义数据集 使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测,对预测结果计算精确度和召回率及F1分数
  • springboot集成钉钉,发送钉钉日报
  • Qt 5.14.2 学习记录 —— 이십이 QSS
  • 【AI文章解读】《No, DeepSeek Is Not A ‘Sputnik Moment’》
  • 信息学奥赛一本通 ybt 1608:【 例 3】任务安排 3 | 洛谷 P5785 [SDOI2012] 任务安排
  • 制造业数字化转型:从标准化设备到数据与智能算法的共生革命
  • 《基于单中心损失监督的频率感知判别特征学习用于人脸伪造检测 》学习笔记
  • PostgreSQL 数据库视图基础操作
  • tf.Keras (tf-1.15)使用记录1-基础模型创建的两种方法
  • 【股票数据API接口48】如何获取股票最新分时BOLL数据之Python、Java等多种主流语言实例代码演示通过股票数据接口获取数据
  • 【Python】理解Python中的协程和生成器:从yield到async
  • PostgreSQL 数据库备份与还原
  • 如何使用SliverList组件
  • 数据分析系列--⑨RapidMiner训练集、测试集、验证集划分
  • 拉格朗日定理
  • C++编程语言:抽象机制:模板(Bjarne Stroustrup)
  • 【网站建设:HTTPS - 如何生成免费SSL证书,并自动更新】
  • 【自开发工具介绍】SQLSERVER的ImpDp和ExpDp工具01
  • RabbitMQ持久化队列配置修改问题
  • python-leetcode-二叉搜索树迭代器
  • 基于微信小程序的酒店管理系统设计与实现(源码+数据库+文档)
  • maven构件子模块步骤及注意事项