Java课程设计 飞机航班管理系统.docx

上传人:b****3 文档编号:6652319 上传时间:2023-05-10 格式:DOCX 页数:48 大小:98.09KB
下载 相关 举报
Java课程设计 飞机航班管理系统.docx_第1页
第1页 / 共48页
Java课程设计 飞机航班管理系统.docx_第2页
第2页 / 共48页
Java课程设计 飞机航班管理系统.docx_第3页
第3页 / 共48页
Java课程设计 飞机航班管理系统.docx_第4页
第4页 / 共48页
Java课程设计 飞机航班管理系统.docx_第5页
第5页 / 共48页
Java课程设计 飞机航班管理系统.docx_第6页
第6页 / 共48页
Java课程设计 飞机航班管理系统.docx_第7页
第7页 / 共48页
Java课程设计 飞机航班管理系统.docx_第8页
第8页 / 共48页
Java课程设计 飞机航班管理系统.docx_第9页
第9页 / 共48页
Java课程设计 飞机航班管理系统.docx_第10页
第10页 / 共48页
Java课程设计 飞机航班管理系统.docx_第11页
第11页 / 共48页
Java课程设计 飞机航班管理系统.docx_第12页
第12页 / 共48页
Java课程设计 飞机航班管理系统.docx_第13页
第13页 / 共48页
Java课程设计 飞机航班管理系统.docx_第14页
第14页 / 共48页
Java课程设计 飞机航班管理系统.docx_第15页
第15页 / 共48页
Java课程设计 飞机航班管理系统.docx_第16页
第16页 / 共48页
Java课程设计 飞机航班管理系统.docx_第17页
第17页 / 共48页
Java课程设计 飞机航班管理系统.docx_第18页
第18页 / 共48页
Java课程设计 飞机航班管理系统.docx_第19页
第19页 / 共48页
Java课程设计 飞机航班管理系统.docx_第20页
第20页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java课程设计 飞机航班管理系统.docx

《Java课程设计 飞机航班管理系统.docx》由会员分享,可在线阅读,更多相关《Java课程设计 飞机航班管理系统.docx(48页珍藏版)》请在冰点文库上搜索。

Java课程设计 飞机航班管理系统.docx

Java课程设计飞机航班管理系统

一.引言

1.1项目的名称

飞机航班信息管理系统

1.2项目背景和目标

飞机航班信息管理系统主要能够查询飞机的航班情况,飞行线路,票价,折扣等等情况,并能够在数据库中更新维护飞机航班的信息,对飞机航班数据库进行管理,如航班的增加,删除和修改等。

我们的目标就是为该系统提供后台连接数据库程序设计以及前台用户界面设计。

1.3项目的可行性研究

设计此系统需要java面向对象编程基础,数据库应用知识以及功能分析。

根据目前所开设的课程,学生已经具备这样的知识,有能力综合java编程知识和数据库应用知识做出一个这样的飞机航班信息管理系统。

二、需求分析

2.1系统概述

此系统提供给系统管理员和用户。

系统管理员登陆后可以对飞机航班信息进行管理,如:

添加飞机航班信息,删除飞机航班信息,修改飞机航班属性。

用户登陆后能进行飞机航班信息查询,订票以及退订。

2.2系统运行环境

Java运行在eclipse软件上,数据库用mysql数据库

2.3功能需求描述

用户选择相关的服务项目可以查看相关航班基本信息,并且可以根据自己需求选择相应服务,系统的信息更新时,相关的信息经过相应处理后,会存入到飞机航班数据库中的航班信息记录表中;系统管理员根据航空公司实际情况可以更新航班信息,并通过修改信息处理后被保存到飞机航班表中。

三、系统设计

3.1开发与设计的总体思想

飞机航班信息管理系统主要分为用户和系统管理员2类,因此也将该系统分为2个相应的大的功能模块。

用户可以通过服务项目选择查询相关航班情况,进行订票,退订等服务项目。

系统会将数据库中相应信息反馈给顾客。

系统管理员负责管系统信息的及时更新,可以根据航空公司航班的具体的情况更新数据库。

3.2系统模块结构图

3.3数据库结构设计

为了支持此飞机航班信息管理系统,创建数据库airplanemanage,在这个数据库里包含三个表:

flightinformation表,passenger表,managerlogin表,和passengerlogin表,它们的截图如下:

在flightinformation(飞机航班信息)表中,有8个属性列,分别为id(序列),stime(飞机起飞时间),etime(飞机到达时间),sadd(飞机起始点),eadd(飞机终点),znum(总票数),snum(剩余票数)。

其基本数据类型分别为:

int,char,char,char,char,char。

当查询飞机航班基本信息时,从此表中获取数据。

截图如下:

在passenger表中,有两个属性列,分别为:

Pname(姓名),Psex(性别),Page(年龄),Pplace(籍贯),number(电话号码)其基本数据类型分别为:

char,char,int,char,int。

当管理员登录系统时从此表获取数据,其截图如下:

在managerlogin表中,有两个属性列,分别为:

Mname(管理员姓名),Mpassword(密码)其基本数据类型分别为:

char,char。

当管理员登录系统时从此表获取数据,其截图如下:

在passengerlogin表中,有两个属性列,分别为:

Pname(用户姓名),Ppassword(密码)其基本数据类型分别为:

char,char。

当教职工登录系统时从此表获取数据,其截图如下:

3.4模块设计

在整个系统主界面,可以选择登录方式,是用户登录还是系统管理员登录。

如果选择用户,则进入用户登录界面,在这个界面上要求输入用户姓名和密码。

输入后单击“确认登录”按钮,若密码正确,则转换到飞机航班信息查询页面,若密码不正确,这提示密码错误。

如果选择是系统管理员登录,则进入管理员登陆界面,在这个界面上输入管理员姓名和密码,输入后单击“飞机航班信息管理”按钮,则进入管理员主界面。

在管理员主界面可以选择添加操作,删除操作还是修改操作。

若要查询用户的简介信息,点击查询菜单项则进入用户简介信息检索界面,在此界面的检索方式中选择要检索的数据属性,在检索内容框中输入检索的具体信息,例如,检索“pname”字段时,要输入某个用户的姓名。

输入后,单击“检索”按钮,则开始对数据库中数据进行查询。

如果数据库检索到所需信息,则生成列表显示检索结构,如果没有所需信息,则页面列表中显示为空。

若要查询飞机航班信息,点击查询菜单项则进入飞机航班信息检索界面,在此界面的检索方式中选择要检索的数据属性,在检索内容框中输入检索的具体信息,例如,检索“飞机对应航班序号的相关信息”字段时,要键入某个飞机航班序号。

输入后,单击“检索”按钮,则开始对数据库中数据进行查询。

如果数据库检索到所需信息,则生成列表显示检索结构,如果没有所需信息,则页面列表中显示为空。

如果管理员要对数据库中进行修改操作,则在管理员主界面上选择修改菜单项,在此项中,选择要修改的具体内容,总共有三项修改操作:

添加飞机航班信息,删除飞机航班信息,修改飞机航班信息。

在添加信息操作中,按照标签提示一次输入要添加的记录值,输入完毕后,单击“添加”按钮,若输入成功,则提示成功,若输入失败,则提示失败。

在删除信息操作中,输入要删除的信息,单击“删除”按钮,若删除成功,则提示成功,若删除失败则提示失败。

在修改信息操作中,输入要修改的信息,单击“修改”按钮,若修改成功,则提示成功,若修改失败则提示失败。

以上就是该飞机航班管理系统涉及的操作步骤。

3.5系统流程描述

 

NONO

YESYES

 

NO

NONO

NONOYES

YESYESYES

YES

四、系统实现

1.Connection包中的类:

(1)DBconnection类:

此类设置程序与数据库的连接,通过设置驱动类型和数据源来确定要连接的数据库。

若连接成功,提示:

connectionsuccess,若连接失败,提示:

connectionfailure

DBconnection类源代码

packageconnection;

publicclassDBconnection{

publicstaticConnectioncon=null;

publicstaticConnectiongetConnection()

{

try{

Class.forName(dbDriver);

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}

try{

}catch(SQLExceptione){

e.printStackTrace();

}

returncon;

}

publicstaticvoidcloseConnection()

{

if(con!

=null)

try{

con.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

publicstaticvoidmain(Stringargs[])

{

}

}

2.dao包中的类:

(1)FlightDao类:

在该类中有四个方法queryFlight,queryFlight1,addFlight,deleteFlight。

作用分别是为用户提供查询航班信息的功能,为管理者用户提供查询航班信息,添加航班信息,删除航班信息功能。

queryFlight()方法中,有一个参数,传给select语句中的Pname(用户姓名),利用select语句,查询航班信息表中的内容。

若查询成功,则返回一个ArrayList类的对象lis(表格),否则,异常处理

queryFlight1()方法中,有一个参数,传给select语句中的Pname(用户姓名),这个Pname的用户登录是输入的姓名。

即此类的作用是每个用户登陆只能查看本人的航班信息。

若查询成功,则返回一个ArrayList类的对象lis(表格),否则,异常处理

addFlight()方法中,有四个参数,分别传给insert语句中的id(序列),stime(飞机起飞时间),etime(飞机到达时间),sadd(飞机起始点),eadd(飞机终点),znum(总票数),snum(剩余票数)。

利用insert语句,将这些记录写入flight表中。

若插入成功返回true,否则返回false

deleteFlight()方法中,有一个参数,传给delete语句中的Pname(用户姓名),利用delete语句,把flight表中相关信息删除。

若删除成功,返回true,否则返回false。

FlightDao类源代码:

packagedao;

importui.PassengerLoginUI;

importmodel.Flight;

importmodel.Passenger;

importconnection.DBconnection;

publicclassFlightDao{

publicArrayListqueryFlight(Stringkey){

ArrayListlis=newArrayList();

Connectioncon=DBconnection.getConnection();

Statementstm;

try{

stm=con.createStatement();

Stringsql="select*fromflightwherePnamelike'%"+key

+"%'";

ResultSetrs=stm.executeQuery(sql);

while(rs.next()){

Flightflight=newFlight(rs.getInt

(1),rs.getString

(2),rs

.getString(3),rs.getString(4),rs.getString(5),getInt(6),getInt(7),getInt(8));

lis.add(flight);

}

}catch(SQLExceptione){

e.printStackTrace();

}

returnlis;

}

publicArrayListqueryFlight1(Stringkey){

ArrayListlis=newArrayList();

Connectioncon=DBconnection.getConnection();

Statementstm;

try{

stm=con.createStatement();

Stringsql="select*fromflightwherePnamelike'%"+PassengerLoginUI.st1

+"%'";

ResultSetrs=stm.executeQuery(sql);

while(rs.next()){

Flightflight=newFlight(rs.getInt

(1),rs.getString

(2),

rs.getString(3),rs.getString(4),rs.getString(5),getInt(6),getInt(7),getInt(8));

lis.add(flight);

}

}catch(SQLExceptione){

e.printStackTrace();

}

returnlis;

}

privateObjectgetInt(inti){

//TODOAuto-generatedmethodstub

returnnull;

}

publicbooleanaddFlight(intid,Stringstime,Stringetime,Stringsadd,Stringeadd,intprice,intznum,intsnum)

{

Connectioncon=DBconnection.getConnection();

PreparedStatementpst;

try{

pst=con.prepareStatement("insertintoflightvalues(?

?

?

?

?

?

?

?

)");

pst.setInt(1,id);

pst.setString(2,stime);

pst.setString(3,etime);

pst.setString(4,sadd);

pst.setString(5,eadd);

pst.setInt(6,price);

pst.setInt(7,znum);

pst.setInt(8,snum);

intcount=pst.executeUpdate();//返回修改的记录数

if(count==1)

returntrue;

else

returnfalse;

}catch(SQLExceptione){

e.printStackTrace();

}

returnfalse;

}

publicbooleandeleteFlight(Stringkey){

Connectioncon=DBconnection.getConnection();

Statementstm;

try{

stm=con.createStatement();

Stringsql="deletefromflightwherePnamelike'%"+key+"%'";

intcount=stm.executeUpdate(sql);

if(count==1)

returntrue;

else

returnfalse;

}catch(SQLExceptione){

e.printStackTrace();

}

returnfalse;

}

publicbooleanaddFlight(Stringid,Stringstime,Stringetime,Stringsadd,Stringeadd,Stringprice,Stringznum,

Stringsnum){

//TODOAuto-generatedmethodstub

returnfalse;

}

}

(2)ManagerDao类:

此类中有一个方法:

queryManager(),作用是控制管理员登陆queryManager()方法中,有两个参数,分别传给select语句中的Mname(管理员姓名)和Mpassword(登陆密码),利用select语句在manager表中检索管理员登陆信息。

若存在此信息,返回true,否则返回false

ManagerDao类源代码:

packagedao;

importconnection.DBconnection;

publicclassManagerDao{

publicbooleanqueryManager(StringMname,StringMpassword){

DBconnectiondb=newDBconnection();

Connectioncon=db.getConnection();

booleanisfound=false;

PreparedStatementpst;

try{

pst=con.prepareStatement("select*frommanagerloginwhereMname=?

andMpassword=?

");

pst.setString(1,Mname);

pst.setString(2,Mpassword);

ResultSetrs=pst.executeQuery();

if(rs.next())

isfound=true;

}catch(SQLExceptione){

e.printStackTrace();

}

returnisfound;

}

publicstaticvoidmain(String[]args){

}

}

(3)PassengerDao类:

此类中有四个方法PassengerLogin,addPassenger,queryPassenger,deletePassenger,作用分别是控制用户登陆系统,增加用户基本信息,查询用户基本信息,删除用户基本信息。

PassengerLogin()方法中,有两个参数,分别传给select语句中的pname(用户姓名)和password(登录密码),利用select语句在passengerlogin表中检索用户登录信息。

若存在此信息,返回true,否则返回false

addPassenger()方法中,有五个参数,分别传给insert语句中的pname(用户名称),

psex(性别),page(年龄),pplace(籍贯),number(电话号码)。

利用insert语句向passenger用户信息表中插入记录。

若插入成功,返回true,否则返回false。

queryWorker()方法中,有两个参数,分别传给select语句中的field(查找方式)和key(查找内容),利用select语句,从passenger表中检索用户简介信息。

若存在此信息,则返回一个ArrayList类的对象lis(表格),否则,异常处理。

deletePassenger()方法中,有一个参数,传给delete语句中的pname(用户姓名),利用delete语句,把passenger表中相关用户信息删除。

若删除成功,返回true,否则返回false。

packagedao;

importmodel.Passenger;

importconnection.DBconnection;

publicclassPassengerDao{

publicbooleanPassengerLogin(Stringpname,Stringpassword){

DBconnectiondb=newDBconnection();

Connectioncon=db.getConnection();

booleanisfound=false;

PreparedStatementpst;

try{

pst=con.prepareStatement("select*frompassengerloginwherepname=?

andpassword=?

");

pst.setString(1,pname);

pst.setString(2,password);

ResultSetrs=pst.executeQuery();

if(rs.next())

isfound=true;

}catch(SQLExceptione){

e.printStackTrace();

}

returnisfound;

}

publicbooleanaddPassenger(Stringpname,Stringpsex,intpage,Stringpplace,intnumber)

{

Connectioncon=DBconnection.getConnection();

PreparedStatementpst;

try{

pst=con.prepareStatement("insertintopassengervalues(?

?

?

?

?

)");

pst.setString(1,pname);

pst.setString(2,psex);

pst.setInt(3,page);

pst.setString(4,pplace);

pst.setInt(5,number);

intcount=pst.executeUpdate();//返回修改的记录数

if(count==1)

returntrue;

else

returnfalse;

}catch(SQLExceptione){

e.printStackTrace();

}

returnfalse;

}

publicArrayListqueryPassenger(Stringfield,Stringkey){

ArrayListlis=newArrayList();

Connectioncon=DBconnection.getConnection();

Statementstm;

try{

stm=con.createStatement();

Stringsql="select*frompassengerwhere"+field+"like'%"

+key+"%'";

ResultSetrs=stm.executeQuery(sql);

while(rs.next()){

Passengerpassenger=newPassenger(rs.getString

(1),rs.getString

(2),rs

.getInt(3),rs.getString(4),rs.getInt(5));

lis.add(passenger);

}

}catch(SQLExceptione){

e.printStackTrace();

}

returnlis;

}

publicbooleandeletePassenger(Stringkey){

Connectioncon=DBconnection.getConnection();

Statementstm;

try{

stm=con.createStatement();

Stringsql="deletefrompassengerwh

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2