基于SSM的“航空机票预订系统”的设计与实现(源码+数据库+文档+PPT)

基于SSM的“航空机票预订系统”的设计与实现(源码+数据库+文档+PPT)

  • 开发语言:Java

  • 数据库:MySQL

  • 技术:SSM

  • 工具:IDEA/Ecilpse、Navicat、Maven


系统展示


系统首页


公告管理


用户注册


留言评论


会员管理


航班管理


订单管理


系统管理

摘要

近十年以来,科学技术迅猛发展,在1999年宽带网络才刚刚在世界上盛行,短短十几年来,网络、计算机、数字化媒体已经使我们的世界发生了天翻地覆的变化。它影响着人们的生活、工作、学习,与科技发生着千丝万缕的联系。计算机在商业企业管理中的应用普及也影响着各行各业。计算机的应用不仅影响着商业企业,对个人的改变来说也尤为突出。

随着社会经济的不断发展,各种交通工具给我们的生活提供了前所未有的出行便利。各种交通工具之中乘坐飞机的消费者也是越来越多,随着人们生活水平的不断提高外出办事、商务洽谈、休闲旅游等等也生成了人们生活中不可缺少的一部分了。为了提高出行效率、节约时间那么大多数人还是会选择乘坐飞机,那么飞机票的预定查询系统在当下也就显得十分的重要了。当下,我国一些旅行社和酒店还有一少部分处于人工处理订票信息的阶段,因此开发一套通过现代化、科学化、信息化的具有完整的存储,查询,核对,打印机票功能的实时机票预定系统势在必行。

研究背景

世界上第一台计算机ENIAC诞生以来,网络技术得到了飞快的发展。计算机和网络应用迅速发展影响着各行各业。随着计算机及网络技术得普及,各个领域都在研究通过利用这个新科技资源如何更好的为人类所服务。科技的日新月异发展,深刻的影响了人们的生活和工作。在当下,计算机几乎被应用到各行各业当中,而且还扮演着的角色。例如:教育、军事、制造业、医疗事业、政府部门和休闲娱乐等。计算机软件的应用促进了社会经济和科学技术的发展,使得人们办公更加方便、快捷,同时也提高了生活质量水量。现代计算机管理信息系统的使用,能使办公及管理更加快速、高效,对提高管理水平和经济效益有着极其重要的意义[1]。

研究意义

1994年10月,美国联合道路公司率先推出了网上售票系统,乘客只需在网上输入自己的信用卡号和有效期,就可以直接购买机票。出票方式有电子机票、车站取票、送票上门等多种方式。网上订票给旅客带来了方便。购票者在电脑上就可以查询飞机动态、票价和机票的可售情况,并直接订购机票,免去了奔波之苦。网上订票还扩充了航空公司的销售网点。截止1997年9月底,世界上排名前20的航空公司都有了自己的网上售票系统[2]。中国现在拥有非常先进、发达的机票售票系统。1999年9月,中国羊城道路公司的网上订票系统正式启动,只要进入羊城道路公司的网上订座页面就可以自己订购机票了,票款的支付方式为网上支付和现金支付。2003年以后,中国航空开始加快现代化建设,近几年来中国的机票售票系统已经逐步走向现代化,订票全国联网,实现了信息化管理。

部分源码

@Repository
public class HangbDao extends HibernateDaoSupport {

	@Autowired
	protected void initDao(SessionFactory sessionFactory) {
		super.setSessionFactory(sessionFactory);
	}

	public Hangb findById(java.lang.String id) {
		return getHibernateTemplate().get(Hangb.class, id);
	}

	@SuppressWarnings("unchecked")
	public List<Hangb> findList(Hangb entity, int start, int limit) {
		DetachedCriteria criteria = DetachedCriteria.forClass(entity.getClass());
		if (entity != null) {
			/**********************************************************************/
			//MatchMode.ANYWHERE
						
			if (StringUtils.isNotEmpty(entity.getSitcount())) {
				criteria.add(Restrictions.eq("sitcount", entity.getSitcount()));
			}
			
						
			if (StringUtils.isNotEmpty(entity.getCity1())) {
				criteria.add(Restrictions.eq("city1", entity.getCity1()));
			}
			
						
			if (StringUtils.isNotEmpty(entity.getCity2())) {
				criteria.add(Restrictions.eq("city2", entity.getCity2()));
			}
			
						
			if (StringUtils.isNotEmpty(entity.getId())) {
				criteria.add(Restrictions.eq("id", entity.getId()));
			}
			
						
			if (StringUtils.isNotEmpty(entity.getExt5())) {
				criteria.add(Restrictions.eq("ext5", entity.getExt5()));
			}
			
						
			if (StringUtils.isNotEmpty(entity.getTime2())) {
				criteria.add(Restrictions.eq("time2", entity.getTime2()));
			}
			
						
			if (StringUtils.isNotEmpty(entity.getTime1())) {
				criteria.add(Restrictions.eq("time1", entity.getTime1()));
			}
			
						
			if (StringUtils.isNotEmpty(entity.getPrice())) {
				criteria.add(Restrictions.eq("price", entity.getPrice()));
			}
			
						
			if (StringUtils.isNotEmpty(entity.getExt1())) {
				criteria.add(Restrictions.eq("ext1", entity.getExt1()));
			}
			
						
			if (StringUtils.isNotEmpty(entity.getExt2())) {
				criteria.add(Restrictions.eq("ext2", entity.getExt2()));
			}
			
						
			if (StringUtils.isNotEmpty(entity.getExt3())) {
				criteria.add(Restrictions.eq("ext3", entity.getExt3()));
			}
			
						
			if (StringUtils.isNotEmpty(entity.getName())) {
				criteria.add(Restrictions.eq("name", entity.getName()));
			}
			
						
			if (StringUtils.isNotEmpty(entity.getExt4())) {
				criteria.add(Restrictions.eq("ext4", entity.getExt4()));
			}
			
															
			/**********************************************************************/
		}
		criteria.addOrder(Order.desc("createtime"));
		return getHibernateTemplate().findByCriteria(criteria, start, limit);
	}
	
	@SuppressWarnings("unchecked")
	public List<Hangb> findAllList(Hangb entity) {
		DetachedCriteria criteria = DetachedCriteria.forClass(entity.getClass());
		if (entity != null) {
			/**********************************************************************/
			
						if (StringUtils.isNotEmpty(entity.getSitcount())) {
				criteria.add(Restrictions.eq("sitcount", entity.getSitcount()));
			}
						if (StringUtils.isNotEmpty(entity.getCity1())) {
				criteria.add(Restrictions.eq("city1", entity.getCity1()));
			}
						if (StringUtils.isNotEmpty(entity.getCity2())) {
				criteria.add(Restrictions.eq("city2", entity.getCity2()));
			}
						if (StringUtils.isNotEmpty(entity.getId())) {
				criteria.add(Restrictions.eq("id", entity.getId()));
			}
						if (StringUtils.isNotEmpty(entity.getExt5())) {
				criteria.add(Restrictions.eq("ext5", entity.getExt5()));
			}
						if (StringUtils.isNotEmpty(entity.getTime2())) {
				criteria.add(Restrictions.eq("time2", entity.getTime2()));
			}
						if (StringUtils.isNotEmpty(entity.getTime1())) {
				criteria.add(Restrictions.eq("time1", entity.getTime1()));
			}
						if (StringUtils.isNotEmpty(entity.getPrice())) {
				criteria.add(Restrictions.eq("price", entity.getPrice()));
			}
						if (StringUtils.isNotEmpty(entity.getExt1())) {
				criteria.add(Restrictions.eq("ext1", entity.getExt1()));
			}
						if (StringUtils.isNotEmpty(entity.getExt2())) {
				criteria.add(Restrictions.eq("ext2", entity.getExt2()));
			}
						if (StringUtils.isNotEmpty(entity.getExt3())) {
				criteria.add(Restrictions.eq("ext3", entity.getExt3()));
			}
						if (StringUtils.isNotEmpty(entity.getName())) {
				criteria.add(Restrictions.eq("name", entity.getName()));
			}
						if (StringUtils.isNotEmpty(entity.getExt4())) {
				criteria.add(Restrictions.eq("ext4", entity.getExt4()));
			}
												
			/**********************************************************************/
		}
		criteria.addOrder(Order.desc("createtime"));
		return getHibernateTemplate().findByCriteria(criteria);
	}
	
	public int countList(Hangb entity) {
		DetachedCriteria criteria = DetachedCriteria.forClass(entity.getClass());
		if (entity != null) {
			/**********************************************************************/
			
			
			if (StringUtils.isNotEmpty(entity.getSitcount())) {
				criteria.add(Restrictions.eq("sitcount", entity.getSitcount()));
			}

			
			if (StringUtils.isNotEmpty(entity.getCity1())) {
				criteria.add(Restrictions.eq("city1", entity.getCity1()));
			}

			
			if (StringUtils.isNotEmpty(entity.getCity2())) {
				criteria.add(Restrictions.eq("city2", entity.getCity2()));
			}

			
			if (StringUtils.isNotEmpty(entity.getId())) {
				criteria.add(Restrictions.eq("id", entity.getId()));
			}

			
			if (StringUtils.isNotEmpty(entity.getExt5())) {
				criteria.add(Restrictions.eq("ext5", entity.getExt5()));
			}

			
			if (StringUtils.isNotEmpty(entity.getTime2())) {
				criteria.add(Restrictions.eq("time2", entity.getTime2()));
			}

			
			if (StringUtils.isNotEmpty(entity.getTime1())) {
				criteria.add(Restrictions.eq("time1", entity.getTime1()));
			}

			
			if (StringUtils.isNotEmpty(entity.getPrice())) {
				criteria.add(Restrictions.eq("price", entity.getPrice()));
			}

			
			if (StringUtils.isNotEmpty(entity.getExt1())) {
				criteria.add(Restrictions.eq("ext1", entity.getExt1()));
			}

			
			if (StringUtils.isNotEmpty(entity.getExt2())) {
				criteria.add(Restrictions.eq("ext2", entity.getExt2()));
			}

			
			if (StringUtils.isNotEmpty(entity.getExt3())) {
				criteria.add(Restrictions.eq("ext3", entity.getExt3()));
			}

			
			if (StringUtils.isNotEmpty(entity.getName())) {
				criteria.add(Restrictions.eq("name", entity.getName()));
			}

			
			if (StringUtils.isNotEmpty(entity.getExt4())) {
				criteria.add(Restrictions.eq("ext4", entity.getExt4()));
			}

												
			/**********************************************************************/
		}
		ProjectionList projList = Projections.projectionList();
		projList.add(Projections.count("id"));
		criteria.setProjection(projList);
		HibernateTemplate hibernateTemplate = getHibernateTemplate();
		List<?> countList = hibernateTemplate.findByCriteria(criteria);
		if (!countList.isEmpty()) {
			return Integer.parseInt(countList.get(0) + "");
		}
		return 0;
	}

	public boolean delete(String id) {
		if (StringUtils.isNotEmpty(id)) {
			Hangb entity = findById(id);
			if (entity != null) {
				getHibernateTemplate().delete(entity);
				return true;
			}
		}
		return false;
	}

	public boolean update(Hangb entity) {
		try {
			if (entity != null && StringUtils.isNotEmpty(entity.getId())) {
				Hangb updateEntity = findById(entity.getId());
				entity.setCreatetime(updateEntity.getCreatetime());
				PropertyUtils.copyProperties(updateEntity, entity);
				getHibernateTemplate().update(updateEntity);
			} else {
				entity.setCreatetime(new Date());
				getHibernateTemplate().save(entity);
			}
			return true;
		} catch (DataAccessException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			e.printStackTrace();
		}
		return false;
	}
}

结论

本人在完成本系统的开发设计过程中,通过互联网和各种平台查阅资料以及文献,了解了系统开发设计所需要的理论知识体系。进一步的加强了对软件开发及系统设计的知识积累。通过此次毕业设计的编写,使我觉得在专业知识上还有一定的欠缺,学无止境。对于软件开发所需要的最新技术积极探索,从需求分析,概要设计到最后的系统框架独立完成,这个过程中,自己的分析设计能力以及对系统的开发等方面都有了较大的提升。对系统所实现的功能进行了安全和功能测试。通过测试,系统实现的基础功能良好,基本符合最初设计的要求。

本系统是开发设计一个基于JavaWeb技术的航空机票预订系统,通过利用这一系统,航空可以提高工员工作效率,方便航空公司对机票的销售,降低企业在机票销售过程中的人力成本,同时也为用户出行提供了强力的便捷服务,不仅可以在异地购票还可以通过本系统对航班信息进行查询方便制定合适的出行计划。通过本系统也可以及时了解系统公告信息。实现科学化、信息化的机票预订。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/584898.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniApp+Vue3+vite+Element UI或者Element Plus开发学习,使用vite构建管理项目,HBuilderX做为开发者工具

我们通常给小程序或者app开发后台时&#xff0c;不可避免的要用到可视化的数据管理后台&#xff0c;而vue和Element是我们目前比较主流的开发管理后台的主流搭配。所以今天石头哥就带大家来一起学习下vue3和Element plus的开发。 准备工作 1&#xff0c;下载HBuilderX 开发者…

IDEA插件-通义灵码 VS ChatGPT-EasyCode

智能编码助手新时代&#xff1a;通义灵码 vs ChatGPT-EasyCode 随着人工智能技术的飞速发展&#xff0c;智能编码助手逐渐成为程序员的必备工具。它们可以帮助程序员提高编码效率&#xff0c;降低代码缺陷率&#xff0c;并解放创造力。 目前市场上涌现出了众多智能编码助手&a…

npm install 卡住不动不执行解决方法

npm install 卡住不动不执行解决方法&#xff0c;先是想到的切淘宝镜像&#xff0c;于是》》》 走淘宝镜像&#xff0c;结果淘宝镜像挂了,于是》》》》》 切成这个 https://registry.npmmirror.com/ 大功告成&#xff01;

访问公共盘时提示:你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。这些策略可帮助保护你的电脑免受网络上不安全设备或恶意设备的威胁。

原因&#xff1a;未启动启用策略&#xff1a;不安全的来宾登录 办法&#xff1a; 1&#xff0c;WindowsR键&#xff0c;打开运行&#xff0c;输入gpedit.msc&#xff0c;打开本地组策略编辑器&#xff1b;2&#xff0c;计算机配置>管理模板>网络>Lanman 工作站>启…

KUKA机器人如何给IO信号或寄存器添加中文注释信息?

KUKA机器人如何给IO信号或寄存器添加中文注释信息? 如下图所示,首先,我们需要登录专家以上用户权限(默认密码KUKA), 如下图所示,点击“投入运行”—“网络配置”, 如下图所示,此时机器人的IP地址为192.168.1.10, 如下图所示,用一根网线连接机器人控制柜到笔记…

第1章 手写WebServer

1.1 Web原理 1.1.1 Web概述 Web是指互联网上的万维网&#xff08;World Wide Web&#xff09;&#xff0c;是一个由超文本、超链接和多媒体内容组成的信息空间。Web的基础技术是HTTP协议、URL、HTML、CSS和JavaScript等。Web被广泛应用于信息检索、在线购物、社交媒体、在线游…

kettle将excel表数据导入到oracle表中

上一篇已经介绍过kettle8.2的安装。 之前一直使用的sqlldr导入外部表&#xff0c;导入比较耗时&#xff0c;这次想使用一下kettle试试。 1.新建转换 2.新建输入 3.新建输出 4.转换新建完成 5.配置输入 加载表格文件 配置工作表 加载字段 6.配置输出 测试数据库连接 这…

指标完成情况对比查询sql

指标完成情况对比查询sql 1. 需求 2. SQL select--部门dept.name as bm,--年度指标任务-新签&#xff08;万元&#xff09;ndzbwh.nxqndzbrw as nxqndzbrw,--年度指标任务-收入&#xff08;万元&#xff09;ndzbwh.nsrndzbrw as nsrndzbrw,--年度指标任务-回款&#xff08;万…

大数据中的项目数据采集

Datax介绍 官网&#xff1a; DataX/introduction.md at master alibaba/DataX GitHub DataX 是阿里云 DataWorks数据集成 的开源版本&#xff0c;在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。 DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS…

C、Minimizing the Sum(线性dp)

思路&#xff1a; 用dp[i][j] 来表示前i个数操作了j次的最小和&#xff0c;然后对于每个a[i]&#xff0c;我们分别枚举i前面操作了x次以及后面操作了j次&#xff0c;对于每次操作&#xff0c;都是将一段区间全换位区间最小值. 代码&#xff1a; void solve(){int n, k;cin &…

基于SpringBoot+Vue大学生兼职管理系统的设计与实现

目录 一、前言介绍 二、功能需求 三、功能结构设计 四、管理员功能实现 招聘单位管理 用户管理 论坛管理 公告信息管理 五、招聘单位功能实现 职位招聘管理 职位留言管理 简历投递管理 六、用户功能实现 在线论坛 职位招聘信息 简历投递 简历 七、部分核心代码 …

代码随想录算法训练营第二十六天||39. 组合总和、40.组合总和II、131.分割回文串

文章目录 一、39. 组合总和 思路 二、40.组合总和II 思路 三、131.分割回文串 思路 一、39. 组合总和 给定一个无重复元素的数组 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取…

活性炭复合纳米纤维膜

活性炭复合纳米纤维膜是一种结合了活性炭和纳米纤维技术的新型复合材料。这种材料通常通过特定的制备工艺&#xff0c;如静电纺丝技术&#xff0c;将活性炭纳米纤维与其他材料&#xff08;如TiO2、聚合物等&#xff09;结合在一起&#xff0c;形成具有良好结构和功能的薄膜。 活…

【SpringBoot】数据脱敏

文章目录 什么是数据脱敏JsonSerialize自定义Jackson注解定制脱敏策略定制JSON序列化实现脱敏工具类 定义Person类&#xff0c;对其数据脱敏模拟接口测试总结 什么是数据脱敏 数据脱敏&#xff0c;也称为数据的去隐私化或数据变形&#xff0c;是一种技术手段&#xff0c;用于对…

【酱浦菌-爬虫技术细节】解决学术堂爬虫翻页(下一页)问题

首先我们通过css选择器获取页码信息&#xff0c;这里的css选择器&#xff0c;选择的是含有a标签的所有li标签&#xff0c;代码如下&#xff1a; li html_web.css(div.pd_c_xslb_left_fenye ul li>a) for li in li:li_url li.css(a::attr(href)).get()li_num li.css(a::t…

排序算法:插入、希尔、选择、推排、冒泡、快速、归并排序

排序算法 目录 前言 一、排序的概念 1.1排序的概念 1.2 常见的排序算法 二、常见排序算法的实现 2.1 插入排序 2.2 希尔排序 2.3 选择排序 2.4 堆排序 2.5 冒泡排序 2.6 快速排序 2.6.1 hoare版本 2.6.2 前后指针版本 2.6.3 非递归版本 2.7 归并排序 归并排序 2.8 计数排序 三、…

【c++】优先级队列与仿函数:C++编程的强大组合

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;本篇文章我们来讲解优先级队列priority_queue 目录 1.priority_queue的介绍和使用函数使用仿函数的使用与介绍greater和less 2.priority_queue的模拟实现基本框架…

C++ dll 分别 给c# c++使用

一、C# 自己写2D 3D算法库都要给别人用&#xff0c;所以好几年没有用过c# 了&#xff0c;调用一些 1、建立c 项目 .h 文件 #pragma once #ifdef __DLLEXPORT #define __DLL_EXP _declspec(dllexport) #else #define __DLL_EXP _declspec(dllimport) #endif extern "…

第1篇:创建Platform Designer系统

Q&#xff1a;本期我们开始使用Platform Designer工具创建带IP核的FPGA自定义硬件系统。 A&#xff1a;Platform Designer是集成在Quartus软件里的系统设计工具&#xff0c;名称随着Quartus的不断更新曾命名为SOPC Builder和Qsys。 使用Platform Designer可以添加Quartus已有自…

Python 与 TensorFlow2 生成式 AI(五)

原文&#xff1a;zh.annas-archive.org/md5/d06d282ea0d9c23c57f0ce31225acf76 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第十二章&#xff1a;用生成式人工智能玩视频游戏&#xff1a;GAIL 在之前的章节中&#xff0c;我们已经看到如何使用生成式人工智能来生成…
最新文章