面向对象技术基础及java语言课程设计宾馆客房管理系统的设计与实现.docx

上传人:b****5 文档编号:6137432 上传时间:2023-01-04 格式:DOCX 页数:24 大小:122.63KB
下载 相关 举报
面向对象技术基础及java语言课程设计宾馆客房管理系统的设计与实现.docx_第1页
第1页 / 共24页
面向对象技术基础及java语言课程设计宾馆客房管理系统的设计与实现.docx_第2页
第2页 / 共24页
面向对象技术基础及java语言课程设计宾馆客房管理系统的设计与实现.docx_第3页
第3页 / 共24页
面向对象技术基础及java语言课程设计宾馆客房管理系统的设计与实现.docx_第4页
第4页 / 共24页
面向对象技术基础及java语言课程设计宾馆客房管理系统的设计与实现.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

面向对象技术基础及java语言课程设计宾馆客房管理系统的设计与实现.docx

《面向对象技术基础及java语言课程设计宾馆客房管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《面向对象技术基础及java语言课程设计宾馆客房管理系统的设计与实现.docx(24页珍藏版)》请在冰豆网上搜索。

面向对象技术基础及java语言课程设计宾馆客房管理系统的设计与实现.docx

面向对象技术基础及java语言课程设计宾馆客房管理系统的设计与实现

 

课程设计报告

 

课程名称:

_面向对象基础及java语言课程设计

设计题目:

宾馆客房管理系统的设计与实现

学院:

信息科学与工程学院

专业:

运算机科学与技术(软件外包)_

 

二零一五年七月二十四日

一、设计内容及要求

宾馆客房管理系统主要设计了管理员登岸,查询客房信息,修改、添加客房信息,通过java与数据库的连接,实现后台挪用数据。

通过挪用数据库中的ID和password登岸管理系统,做出相应的处置。

二、开发环境

1.Eclipse(java环境开发)

2.(进行java程序的编译和运行)

3.MySQL绿色版(数据库贮存)

三、设计思路

1.整体框架

 

客房管理系统

 

客房信息查询添加客房信息修改客房信息

2.数据库设计

本系统利用MySQL绿色版来存储数据,其中有一个数据库home,数据库中包括两张表:

xx表主要记录客房的信息(房间号,房间类型,单价,入住姓名,身份证号码,房间状态),如图表1-1;id表中记录管理员的信息(ID,password),如图1-2。

表1-1xx

房间号

房间类型

单价

入住姓名

身份证号码

房间状态

301

标准间

168

张树鹏

370782

入住

303

标准间

168

王栋

370782

入住

305

标准间

168

未入住

307

大床房

148

杨金石

370782

入住

309

家庭房

256

未入住

 

表1-2id

ID

password

Wangd

7877

Yangjs

5988

Zhangsp

3977

3.数据库与Eclipse连接

利用ODBC为数据库Student配置ODBC数据源,使应用程序能够访问数据库,进行应用程序和数据库之间的数据交互。

四、详细设计进程与分析

1.登岸界面

(1)第一由用户输入账户和密码,由系统读取账号,并按照账号在数据库中查询相应的密码;

(2)按照数据库查询到的密码,与用户输入的密码进行匹配,若是相同,单击肯定则能够进入功能界面。

2.功能界面

在功能界面,实现三个功能,别离是:

查询客户信息,添加客户信息,修改客户信息。

每一个按钮添加单击事件。

响应后进入相应的功能界面。

3.客房信息查询

进入客房信息查询界面,输入房间号,单击查询按钮,做出相应的事件处置事件,从home数据库xx表中读取房间类型,单价,入住姓名,身份证号码,入住状态。

若是入住状态为未入住,则入住姓名,身份证号码为空。

客房信息查询界面上方有客房信息查询、添加客房信息、修改客房信息三个单击按钮,点击能够直接实现事件响应。

4.添加客房信息

进入客房信息查询界面,界面上方有客房信息查询、添加客房信息、修改客房信息三个单击按钮,点击能够直接实现事件响应。

添加客房信息中所需录入的客房信息,及其文本区域。

当用户向文本区域录入数据完成单击添加时,响应增加事件。

第一,进行数据库的连接,创建执行SQL的语句对象,执行SQL语句,将数据插入到数据库,关闭连接。

添加完成后,显示“添加成功”确认对话框。

重置按钮功能为重置各文本框内的内容,使清空文本框加倍方便。

5.修改客房信息

进入修改客房信息界面,界面上方有客房信息查询、添加客房信息、修改客房信息三个单击按钮,点击能够直接实现事件响应。

修改客房信息录入到文本区域,当用户向文本区域录入数据完成单击添加时,响应增加事件。

第一,进行数据库的连接,创建执行SQL的语句对象,执行SQL语句,将数据插入到数据库,关闭连接。

修改完成后,显示“修改成功”确认对话框。

重置按钮功能为重置各文本框内的内容,使清空文本框加倍方便。

6.数据库的成立

利用MySQL绿色版成立home数据库,在数据库中成立id表和xx表。

五、源代码

1.登岸界面源代码

packageKF;

importclassHoteLandextendsJFrameimplementsActionListener{

privateJPanelpanel1,panel2,panel3,panel4,panel5;

privateJLabellabel1,label2,label3;

privateJTextFieldtext1;

privateJTextFieldtext2;

privateJButtonbutton1,button2;

publicHoteLand()

{

super("客房系统登录");

(400,200);

(300,200);

etLayout(newBorderLayout());

panel1=newJPanel();

panel2=newJPanel();

panel3=newJPanel();

panel4=newJPanel();

panel5=newJPanel();

(newlabel1=newJLabel("————客房管理系统————");

label2=newJLabel("账号");

label3=newJLabel("密码");

text1=newJTextField(10);

text2=newJPasswordField(10);

button1=newJButton("肯定");

(this);

button2=newJButton("退出");

(this);

(label2);

(text1);

(label3);

(text2);

(panel4);

(panel5);

(button1);

(button2);

(label1);

().add(panel3,"North");

().add(panel1,"Center");

().add(panel2,"South");

(true);

}

publicstaticvoidmain(String[]args){

newHoteLand();

}

@Override

publicvoidactionPerformed(ActionEventarg0){

quals())){

newJiemian();

();

}else{

dd(panel2,"South");

().add(panel1,"Center");

().add(panel3,"North");

(true);

}

publicstaticvoidmain(String[]args){

newJiemian();

}

@Override

publicvoidactionPerformed(ActionEventarg0){

etLayout(newFlowLayout

(1));

panel1=newJPanel();

panel2=newJPanel();

panel3=newJPanel();

panel4=newJPanel();

panel5=newJPanel();

panel6=newJPanel();

panel7=newJPanel();

panel8=newJPanel();

panel9=newJPanel();

button1=newJButton("客房信息查询");

(this);

button2=newJButton("添加客房信息");

(this);

button3=newJButton("修改客房信息");

(this);

label1=newJLabel("添加客房信息");

label2=newJLabel("房间号:

");

a=newJTextField(25);

label3=newJLabel("房间类型:

");

dd(panel1,"Center");

().add(panel2,"Center");

().add(panel3,"Center");

().add(panel4,"Center");

().add(panel5,"Center");

().add(panel6,"Center");

().add(panel7,"Center");

().add(panel9,"Center");

().add(panel8,"Center");

(true);

}

@Override

publicvoidactionPerformed(ActionEventarg0){

etLayout(newFlowLayout

(1));

panel1=newJPanel();

panel2=newJPanel();

panel3=newJPanel();

panel4=newJPanel();

panel5=newJPanel();

panel6=newJPanel();

panel7=newJPanel();

panel8=newJPanel();

button1=newJButton("客房信息查询");

(this);

button2=newJButton("添加客房信息");

(this);

button3=newJButton("修改客房信息");

(this);

label1=newJLabel("查询客房信息");

label2=newJLabel("房间号:

");

a=newJTextField(19);

button4=newJButton("查询");

(this);

label3=newJLabel("房间类型:

");

b=newJTextField(25);

label4=newJLabel("单价:

");

c=newJTextField(25);

label5=newJLabel("入住姓名:

");

d=newJTextField(25);

label6=newJLabel("身份证号:

");

e=newJTextField(25);

label7=newJLabel("房间状态:

");

f=newJTextField(25);

button5=newJButton("返回");

(this);

(button1);

(button2);

(button3);

(label2);

(a);

(button4);

(label3);

(b);

(label4);

(c);

(label5);

(d);

(label6);

(e);

(label7);

(f);

(button5);

().add(panel1,"Center");

().add(label1,"Center");

().add(panel2,"Center");

().add(panel3,"Center");

().add(panel4,"Center");

().add(panel5,"Center");

().add(panel6,"Center");

().add(panel8,"Center");

().add(panel7,"Center");

(true);

}

publicstaticvoidmain(String[]args){

newChaxu();

}

@Override

publicvoidactionPerformed(ActionEvente1){

etLayout(newFlowLayout

(1));

panel1=newJPanel();

panel2=newJPanel();

panel3=newJPanel();

panel4=newJPanel();

panel5=newJPanel();

panel6=newJPanel();

panel7=newJPanel();

panel8=newJPanel();

panel9=newJPanel();

button1=newJButton("客房信息查询");

(this);

button2=newJButton("添加客房信息");

(this);

button3=newJButton("修改客房信息");

(this);

label1=newJLabel("修改客房信息");

label2=newJLabel("房间号:

");

a=newJTextField(25);

label3=newJLabel("房间类型:

");

b=newJTextField(25);

label4=newJLabel("单价:

");

c=newJTextField(25);

label5=newJLabel("入住姓名:

");

d=newJTextField(25);

label6=newJLabel("身份证号:

");

e=newJTextField(25);

label7=newJLabel("状态:

");

f=newJTextField(25);

button4=newJButton("修改");

(this);

button5=newJButton("重置");

(this);

(button1);

(button2);

(button3);

(label1);

(label2);

(a);

(label3);

(b);

(label4);

(c);

(label5);

(d);

(label6);

(e);

(label7);

(f);

(button4);

(button5);

().add(panel1,"Center");

().add(panel2,"Center");

().add(panel3,"Center");

().add(panel4,"Center");

().add(panel5,"Center");

().add(panel6,"Center");

().add(panel7,"Center");

().add(panel9,"Center");

().add(panel8,"Center");

(true);

}

@Override

publicvoidactionPerformed(ActionEventarg0){

//TODOAuto-generatedmethodstub

if()==button1){

newChaxu();

();

}

if()==button2){

newAddRooms();

();

}

if()==button3){

newXgkfxx();

();

}

if()==button4){

if()==button4){

DBdb=newDB();//链接数据库

Stringsql="updatexxset房间类型='"+()+"',单价="+()+",入住姓名='"+()+"',身份证号码="+()+",房间状态='"+()+"'where房间号="+();

intn=(sql);

if(n>0)

{

(this,"修改成功!

");

("");

("");

("");

("");

("");

("");

}

}

if()==button5){

("");

("");

("");

("");

("");

("");

}

}

}

publicstaticvoidmain(String[]args){

newXgkfxx();

}

}

2.连接数据库

packageKF;

importclassDB{

Connectionconn=null;

Statementstmt=null;

ResultSetrs=null;

publicvoidgetConnection(){

try{

("");//加载驱动

conn=("jdbc:

","root","mysql");//获取连接

stmt=();//创建语句对象

}catch(Exceptione){

//TODOAuto-generatedcatchblock

();

}

}

publicintupdate(Stringsql){

intnum=-1;

getConnection();

try{

num=(sql);

}catch(SQLExceptione){

();

}finally{

close();

}

returnnum;

}

publicstaticvoidmain(String[]args){

DBdb=newDB();

ArrayListarr=("select*fromemployee");

for(inti=0;i<();i++){

String[]temp=(i);

for(Stringt:

temp){

"");

}

}

}

publicArrayListarrQuery(Stringsql){

getConnection();

ArrayListrsList=newArrayList();

try{

rs=(sql);

ResultSetMetaDatarsmd=();

intnum=();

while()){

String[]arr=newString[num];

for(inti=1;i<=num;i++){

Stringtemp=(i);

arr[i-1]=temp;

}

(arr);

}

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

();

}finally{

close();

}

returnrsList;

}

//编写程序:

//创建一个类DBTools,在DBTools中创建一个方法find,find方法用于对数据库进行查询操作,现在要求将结果集封装成数组线性表嵌套数组的形式:

//ArrayListrsList=newArrayList()形式

//其中:

String[]用于存储一行记录的所有字段(的值)

//rsList存储所有的数组(String[]),即记录的总数

publicArrayList>query(Stringsql){

getConnection();

ArrayList>alist=newArrayList>();

try{

rs=(sql);

ResultSetMetaDatarsmd=();//获取结果集结构对象

while()){

HashMaphm=newHashMap();

for(inti=1;i<=();i++){

Stringkey=(i);

Stringvalue=(i);

(key,value);

}

(hm);

}

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

();

}finally{

close();

}

returnalist;

}

publicArrayListpageQuery(intpageCount,intpageNum,Stringsql){//select*fromemployeelimit

StringnewSql=sql+"limit"+(pageNum-1)*pageCount+","+pageCount;

returnarrQuery(newSql);

}

publicvoidclose(){

if(rs!

=null){

try{

();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

();

}

}

if(stmt!

=null){

try{

();

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

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1