JAVA实训报告.docx
- 文档编号:10407749
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:29
- 大小:342.46KB
JAVA实训报告.docx
《JAVA实训报告.docx》由会员分享,可在线阅读,更多相关《JAVA实训报告.docx(29页珍藏版)》请在冰豆网上搜索。
JAVA实训报告
实验实训报告
课程(项目)名称:
面向对象程序设计(双语)设计
学院:
师范学院专业:
班级:
学号:
姓名:
成绩:
2016年1月19日
面向对象程序设计(双语)设计报告
一、机票预订管理系统总体设计
1.1系统概述
为了方便旅客,航空公司需开发一个机票预订管理系统。
为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息输入机票预定系统。
主要涉及的有订单信息管理、旅客信息管理、航班信息管理、机票信息管理以及退票信息管理等多种数据信息。
通过JAVA来实现对于机票预订管理及一些数据的修改,添加,删除,查询等。
1.2功能实现
实现的具体功能如下:
(1)订单信息管理——是实现管理员对订票信息的管理,包括对航班基本信息如航班号、起飞地、目的地、起飞时间等,旅客基本信息如旅客姓名、性别、年龄、电话号码、身份证号、座位号、订票时间、订票数量的添加、修改、删除和查询功能。
(2)旅客信息管理——是实现管理员对旅客一些基本信息,如旅客姓名、性别、年龄、电话号码、身份证号的添加、修改、删除和查询功能。
(3)航班信息管理——实现管理员对航班的一些基本信息,航班号、起飞地、目的地、起飞时间的添加、修改、删除查询和功能。
(4)机票信息管理——实现管理员对机票的一些基本信息,如航班号、座位号、座位信息、机票类型的添加、修改、删除和查询功能。
(5)退票信息管理——是实现管理员对退票信息的管理,包括对订单号、旅客姓名、电话号码、身份证号的添加、修改、删除和查询功能。
以上是用户对系统的基本的功能要求,此外用户还要求系统的效率要高,查询速度要快,比较小的冗余,易维护,具有较高的数据安全性。
1.3功能模块图
图1-1机票预订管理系统功能模块图
二、数据库设计
2.1数据库表设计
2.2数据库连接程序
packagedb;
importjava.sql.*;
importjavax.swing.JOptionPane;
2.2.1数据库连接类
MySqlConnnection。
通过调用类的静态方法获得数据库连接。
publicabstractclassMySqlConnnection{
私有空构造方法,保证本类不能够被实例化。
privateMySqlConnnection(){
}
2.2.2获得数据库连接
publicstaticConnectiongetConnection(){
Connectionconn=null;
try{
//加载MySQLJDBC驱动程序名称
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//数据库连接参数。
StringserverName="localhost:
1433";//数据库主机名称
Stringmydatabase="机票预订管理系统";//数据库名称
Stringurl="jdbc:
sqlserver:
//"+serverName+";DatabaseName="+mydatabase;
Stringusername="sa";//MySql用户名
Stringpassword="123456";//MySql密码
conn=DriverManager.getConnection(url,username,password);//建立连接
}catch(ClassNotFoundExceptione){
e.printStackTrace();//找不到MySql驱动程序类时,打印异常
}catch(SQLExceptione){
e.printStackTrace();//获得数据库连接发生异常
}
returnconn;
}
2.2.3关闭数据库连接
publicstaticvoidcloseConnection(Connectionconn){
if(conn!
=null){//连接是否有效
try{
if(!
conn.isClosed()){//连接是否已关闭
conn.close();//关闭连接
}
}catch(SQLExceptionex1){
ex1.printStackTrace();
}
}
}
2.2.4测试连接类
publicstaticvoidmain(String[]args)throwsException{
Connectionconn=MySqlConnnection.getConnection();
Stringresult="";
if(conn==null){
result="获得数据库连接错误.";
}else{
result="正常获得数据库连接."+conn;
}
JOptionPane.showMessageDialog(null,result);
}
}
2.3数据库表的添删改查(包括程序)
2.3.1dingdanxinxibiao表的添删改查
2.3.1.1dingdanxinxibiao表的添操作
publicstaticvoidaddDingdanxinxibiao(Dingdanxinxibiaoa){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
StringSql="INSERTINTO订单信息表"
+"(订单号,航班号,座位号,起飞地,目的地,"+
"起飞时间,旅客姓名,性别,身份证号码,电话号码,订票时间,"+
"订票数量)VALUES(?
?
?
?
?
?
?
?
?
?
?
?
)";
PreparedStatementps=DBUtil.getPreStatment(conn,Sql);
ps.setString(1,a.getDingdanhao());
ps.setString(2,a.getHangbanhao());
ps.setString(3,a.getZuoweihao());
ps.setString(4,a.getQifeidi());
ps.setString(5,a.getMudidi());
ps.setTimestamp(6,newTimestamp(a.getQifeishijian().getTime()));
ps.setString(7,a.getLvkexingming());
ps.setString(8,a.getXingbie());
ps.setString(9,a.getShenfenzhenghaoma());
ps.setString(10,a.getDianhuahaoma());
ps.setTimestamp(11,newTimestamp(a.getDingpiaoshijian().getTime()));
ps.setString(12,a.getDingpiaoshuliang());
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
2.3.1.2dingdanxinxibiao表的删操作
publicstaticvoiddeleteDingdanxinxibiao(Stringdingdanhao){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
PreparedStatementps=conn
.prepareStatement("DELETEFROM订单信息表WHERE订单号=?
");
ps.setString(1,dingdanhao);
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
2.3.1.3dingdanxinxibiao表的改操作
publicstaticvoidupdateDingdanxinxibiao(Dingdanxinxibiaoa){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
StringSql="UPDATE订单信息表SET起飞地=?
目的地=?
WHERE订单号=?
";
PreparedStatementps=conn.prepareStatement(Sql);
ps.setString(1,a.getQifeidi());
ps.setString(2,a.getMudidi());
ps.setString(3,a.getDingdanhao());
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
2.3.1.4dingdanxinxibiao表的查操作
publicstaticDingdanxinxibiaogetDingdanxinxibiao(Stringdingdanhao){
Dingdanxinxibiaoobj1=null;
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
StringSql="SELECT*FROM订单信息表WHERE订单号=?
";
PreparedStatementps=DBUtil.getPreStatment(conn,Sql);
ps.setString(1,dingdanhao);
ResultSetrs=ps.executeQuery();
if(rs.next()){
obj1=newDingdanxinxibiao(rs.getString
(1),rs.getString
(2),
rs.getString(3),rs.getString(4),rs.getString(5),rs.getDate(6),
rs.getString(7),rs.getString(8),rs.getString(9),rs.getString(10),
rs.getDate(11),rs.getString(12));
}
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
returnobj1;
}
2.3.2lvkexinxibiao表的添删改查
2.3.2.1lvkexinxibiao表的添操作
publicstaticvoidaddlvkexinxibiao(lvkexinxibiaoa){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
StringSql="INSERTINTO旅客信息表"
+"(身份证号码,旅客姓名,性别,电话号码)VALUES(?
?
?
?
)";
PreparedStatementps=DBUtil.getPreStatment(conn,Sql);
ps.setString(1,a.getShenfenzhenghaoma());
ps.setString(2,a.getLvkexingming());
ps.setString(3,a.getXingbie());
ps.setString(4,a.getDianhuahaoma());
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
2.3.2.2lvkexinxibiao表的删操作
publicstaticvoiddeletelvkexinxibiao(Stringshenfenzhenghaoma){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
PreparedStatementps=conn
.prepareStatement("DELETEFROM旅客信息表WHERE身份证号码=?
");
ps.setString(1,shenfenzhenghaoma);
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
2.3.2.3lvkexinxibiao表的改操作
publicstaticvoidupdatelvkexinxibiao(lvkexinxibiaoa){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
StringSql="UPDATE旅客信息表SET旅客姓名=?
电话号码=?
WHERE身份证号码=?
";
PreparedStatementps=conn.prepareStatement(Sql);
ps.setString(1,a.getLvkexingming());
ps.setString(2,a.getDianhuahaoma());
ps.setString(3,a.getShenfenzhenghaoma());
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
2.3.2.4lvkexinxibiao表的查操作
publicstaticlvkexinxibiaogetlvkexinxibiao(Stringshenfenzhenghaoma){
lvkexinxibiaoobj1=null;
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
StringSql="SELECT*FROM旅客信息表WHERE身份证号码=?
";
PreparedStatementps=DBUtil.getPreStatment(conn,Sql);
ps.setString(1,shenfenzhenghaoma);
ResultSetrs=ps.executeQuery();
if(rs.next()){
obj1=newlvkexinxibiao(rs.getString
(1),rs.getString
(2),
rs.getString(3),rs.getString(4));
}
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
returnobj1;
}
2.3.3jipiaoxinxibiao表的添删改查
2.3.3.1jipiaoxinxibiao表的添操作
publicclassDBjipiaoxinxibiao{
publicstaticvoidaddjipiaoxinxibiao(jipiaoxinxibiaoa){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
StringSql="INSERTINTO机票信息表"
+"(航班号,座位号,坐位信息,机票类型)VALUES(?
?
?
?
)";
PreparedStatementps=DBUtil.getPreStatment(conn,Sql);
ps.setString(1,a.getHangbanhao());
ps.setString(2,a.getZuoweihao());
ps.setString(3,a.getZuoweixinxi());
ps.setString(4,a.getJipiaoleixing());
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
2.3.3.2jipiaoxinxibiao表的删操作
publicstaticvoiddeletejipiaoxinxibiao(Stringhangbanhao){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
PreparedStatementps=conn
.prepareStatement("DELETEFROM机票信息表WHERE航班号=?
");
ps.setString(1,hangbanhao);
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
2.3.3.3jipiaoxinxibiao表的改操作
publicstaticvoidupdatejipiaoxinxibiao(jipiaoxinxibiaoa){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
StringSql="UPDATE机票信息表SET坐位信息=?
机票类型=?
WHERE航班号=?
";
PreparedStatementps=conn.prepareStatement(Sql);
ps.setString(1,a.getZuoweixinxi());
ps.setString(2,a.getJipiaoleixing());
ps.setString(3,a.getHangbanhao());
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
2.3.3.4jipiaoxinxibiao表的改操作
publicstaticjipiaoxinxibiaogetjipiaoxinxibiao(Stringhangbanhao){
jipiaoxinxibiaoobj1=null;
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
StringSql="SELECT*FROM机票信息表WHERE航班号=?
";
PreparedStatementps=DBUtil.getPreStatment(conn,Sql);
ps.setString(1,hangbanhao);
ResultSetrs=ps.executeQuery();
if(rs.next()){
obj1=newjipiaoxinxibiao(rs.getString
(1),rs.getString
(2),
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)