這篇文章主要介紹“java實(shí)現(xiàn)酒店管理系統(tǒng)代碼分享”,在日常操作中,相信很多人在java實(shí)現(xiàn)酒店管理系統(tǒng)代碼分享問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”java實(shí)現(xiàn)酒店管理系統(tǒng)代碼分享”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專注于成都定制網(wǎng)頁設(shè)計(jì),高端網(wǎng)頁制作,對成都除甲醛等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專業(yè)seo優(yōu)化排名優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
一共3個(gè)實(shí)體類,每個(gè)實(shí)體類有各自的屬性和get,set方法,沒什么好說的
管理員實(shí)體類:
/*
管理員實(shí)體
*/
package cn.edu.shengda;
/**
*
* @author Administrator
*/
public class Admin {
private String id; //編號
private String name; //姓名
private String password; //密碼
private String extend; //權(quán)限
void setID(String id) {
this.id=id;
}
void setName(String name) {
this.name=name;
}
void setPassword(String password) {
this.password=password;
}
void setExtend(String extend) {
this.extend=extend;
}
String getID() {
return this.id;
}
String getName() {
return this.name;
}
String getPassword() {
return this.password;
}
String getExtend() {
return this.extend;
}
}
客戶實(shí)體類:
/*
客戶實(shí)體
*/
package cn.edu.shengda;
import java.sql.Date;
/**
*
* @author Administrator
*/
public class Customer {
private int id; //編號
private String name; //姓名
private String card; //身份證
private int room; //房間號
private Float money; //押金
private Date time; //入住時(shí)間
private String sex; //性別
private String hometown; //籍貫
int getId() {
return this.id;
}
String getName() {
return this.name;
}
String getCard() {
return this.card;
}
int getRoom() {
return this.room;
}
Float getMoney() {
return this.money;
}
Date getTime() {
return this.time;
}
String getSex() {
return this.sex;
}
String getHometown() {
return this.hometown;
}
}
客房實(shí)體:
/*
客房實(shí)體
*/
package cn.edu.shengda;
/**
*
* @author Administrator
*/
public class Room {
private int id; //編號
private String grade ; //級別
private float price; //價(jià)格
private int state; //狀態(tài)
private String remarks; //備注
void setID(int ID) {
this.id = ID;
}
void setGrade(String grade) {
this.grade = grade;
}
void setPrice(float price) {
this.price = price;
}
void setState(int state) {
this.state = state;
}
void setRemarks(String remarks) {
this.remarks = remarks;
}
int getID() {
return this.id;
}
String getGrade() {
return this.grade;
}
float getPrice() {
return this.price;
}
int getState() {
return this.state;
}
String getRemarks() {
return this.remarks;
}
}
登錄界面:
包含兩個(gè)文本框,分別是用戶名和密碼
兩個(gè)按鈕,登錄和注冊
點(diǎn)擊登錄,將會(huì)判斷用戶名和密碼是否正確,然后提示不同的結(jié)果
注冊頁面
點(diǎn)擊注冊,將會(huì)跳轉(zhuǎn)到注冊頁面
點(diǎn)擊注冊后也會(huì)有相應(yīng)的提示
判斷注冊是否符合規(guī)則
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class Register {
String name;
String ID;
String password;
String confirmpassword;
void setName(String name) {
this.name = name;
}
void setID(String ID) {
this.ID = ID;
}
void setPassword(String password) {
this.password = password;
}
void setconfirmpasswd(String confirmpassword) {
this.confirmpassword = confirmpassword;
}
private PreparedStatement getPreparedStatement(String sql) throws SQLException {
return new DBConnecter().getConnection().prepareStatement(sql);
}
//判斷注冊的賬號是否符合規(guī)則
boolean JudgeRegister() throws SQLException {
if(this.name.equals("")) {
JOptionPane.showMessageDialog(null, "用戶名不能為空!",
"用戶名", JOptionPane.ERROR_MESSAGE);
return false;
}
if(this.ID.equals("")) {
JOptionPane.showMessageDialog(null, "賬號不能為空!",
"賬號為空", JOptionPane.ERROR_MESSAGE);
return false;
}
if(this.password.equals("")) {
JOptionPane.showMessageDialog(null, "密碼不能為空!",
"密碼為空", JOptionPane.ERROR_MESSAGE);
return false;
}
if(!this.password.equals(this.confirmpassword)) {
JOptionPane.showMessageDialog(null, "兩次輸入的密碼不一致!",
"密碼不一致", JOptionPane.ERROR_MESSAGE);
return false;
}
AdminManager am = new AdminManager();
if(am.JudgeAdminID(this.ID)) {
JOptionPane.showMessageDialog(null, "賬號已存在",
"賬號已存在", JOptionPane.ERROR_MESSAGE);
return false;
}
//符合規(guī)則,彈出注冊成功的窗口,并將賬號添加數(shù)據(jù)庫
JOptionPane.showMessageDialog(null, "注冊成功");
addAdmin();
return true;
}
//向數(shù)據(jù)庫添加Admin賬戶
void addAdmin() throws SQLException {
String sql="insert into admin (id, name, password) values (?,?,?)";
PreparedStatement ps = getPreparedStatement(sql);
ps.setString(1, this.ID);
ps.setString(2, this.name);
ps.setString(3, this.password);
ps.executeUpdate();
ps.close();
}
}
注冊成功后就可以點(diǎn)擊登錄了
主頁面:
登錄成功后來到主頁面
主頁面下面的表格,我先把數(shù)據(jù)庫中的房間數(shù)據(jù)讀出,然后轉(zhuǎn)換成ArrayList,最后放到表格中
class MyDefaultTableModel extends DefaultTableModel {
public MyDefaultTableModel(Object[][] data, Object[] columnNames) {
super(data, columnNames);
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
return false;
}
}
private DefaultTableModel toDefaultTableModel(ArrayList<Room> al) {
int row = al.size();
Object [][] o = new Object[row+1][5];
Room room = null;
o[0][0]="房間號";
o[0][1]="級別";
o[0][2]="價(jià)格";
o[0][3]="狀態(tài)";
o[0][4]="備注";
for(int i=0; i<row; i++) {
room = al.get(i);
for(int j=0; j<5; j++) {
if(j==0) {
o[i+1][j] = Integer.valueOf(room.getID());
} else if(j==1) {
o[i+1][j] = room.getGrade();
} else if(j==2) {
o[i+1][j] = Float.valueOf(room.getPrice());
} else if(j==3) {
o[i+1][j] = room.getState()==1 ? "有人"
: "空";
} else if(j==4) {
o[i+1][j] = room.getRemarks();
}
}
}
String col[]= {"房間號", "級別", "價(jià)格", "狀態(tài)", "備注"};
return new MyDefaultTableModel(o, col);
}
private ArrayList<Room> toArrayList(ResultSet rs) {
try {
ArrayList<Room> al = new ArrayList<>();
Room room = new Room();
while (rs.next()) {
room = new Room();
room.setID(rs.getInt("id"));
room.setGrade(rs.getString("grade"));
room.setPrice(rs.getFloat("price"));
room.setState(rs.getInt("state"));
room.setRemarks(rs.getString("remarks"));
al.add(room);
}
rs.close();
return al;
} catch(SQLException ex) {
return null;
}
}
系統(tǒng)管理包含兩個(gè)選項(xiàng):刷新和退出系統(tǒng),點(diǎn)擊刷新將重新加載表格,點(diǎn)擊退出系統(tǒng)則整個(gè)程序結(jié)束
基本管理有兩個(gè)選項(xiàng):住宿登記和退房結(jié)賬,住宿登記是登記顧客的信息和選擇房間
退房結(jié)賬,輸入房間號之后會(huì)進(jìn)行退房。
點(diǎn)擊住宿登記會(huì)跳出窗口
房間管理有兩個(gè)選項(xiàng):增加房間和查詢房間
點(diǎn)擊添加房間,輸入房間號,價(jià)格,級別,點(diǎn)擊添加,添加成功;點(diǎn)擊取消,返回主頁面
查詢房間,輸入房間號,將會(huì)顯示房間的所有信息
JDBC連接數(shù)據(jù)庫:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author Administrator
*/
public class DBConnecter {
/*
連接數(shù)據(jù)庫
*/
private String driver = "com.MySQL.cj.jdbc.Driver";
private String url = "jdbc:mysql://localhost:3306/hotelsql?
serverTimezone=UTC&characterEncoding=utf-8";
private String user = "root";
private String password = "12481632";
public Connection getConnection() throws SQLException {
try {
Class.forName(driver);
} catch (java.lang.ClassNotFoundException cnfe) {
cnfe.printStackTrace();
System.out.println("驅(qū)動(dòng)失敗");
}
Connection conn = null;
//conn=DriverManager.getConnection(URL, "root", "12481632");
try {
conn = DriverManager.getConnection(url, user, password);
}catch(SQLException ex) {
System.out.println("數(shù)據(jù)庫登錄失敗!");
}
return conn;
}
/*
*/
}
到此,關(guān)于“java實(shí)現(xiàn)酒店管理系統(tǒng)代碼分享”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
文章名稱:java實(shí)現(xiàn)酒店管理系統(tǒng)代碼分享
標(biāo)題來源:http://aaarwkj.com/article36/ggpcpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、企業(yè)網(wǎng)站制作、域名注冊、用戶體驗(yàn)、營銷型網(wǎng)站建設(shè)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)