酒店管理系统设计
6.3程序运行:
登入界面
11页
酒店管理系统设计
管理界面
管理员界面
七、模块的实现
7.1 JDBC数据库连接部分
package com.mwq.dao;
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;
public class JDBC {
private
static
final
String
DRIVERCLASS
=
\
private
static
final
12页
String URL =
酒店管理系统设计
\
private static final ThreadLocal
ThreadLocal
public static Connection getConnection() {// 创建数据库连接的方法
System.out.println(\数据库连接成功\
Connection conn = threadLocal.get();// 从线程中获得数据库连接 if (conn == null) {// 没有可用的数据库连接
try {
conn
=
DriverManager.getConnection(URL,
USERNAME,
static {// 在静态代码块中加载数据库驱动 }
try {
Class.forName(DRIVERCLASS).newInstance();// 加载数据库驱动
} catch (Exception e) { }
System.out.println(\数据库连接不成功\e.printStackTrace();
PASSWORD);// 创建新的数据库连接
threadLocal.set(conn);// 将数据库连接保存到线程中
} catch (SQLException e) {
e.printStackTrace();
13页
酒店管理系统设计
}
}
}
}
return conn;// 返回数据库连接
public static boolean closeConnection() {// 关闭数据库连接的方法 }
boolean isClosed = true;// 默认关闭成功
Connection conn = threadLocal.get();// 从线程中获得数据库连接 if (conn != null) {// 数据库连接可用 }
return isClosed;// 返回关闭结果
threadLocal.set(null);// 清空线程中的数据库连接 try {
conn.close();// 关闭数据库连接
} catch (SQLException e) { }
isClosed = false;// 关闭失败 e.printStackTrace();
7.2 开台点餐功能的实现
7.2.1 台号选择框的创建
numComboBox = newJComboBox(); // 创建台号选择框
numComboBox.setNextFocusableComponent(codeTextField); // 设置
下一个将要获得焦点的组件
initNumComboBox(); // 初始化台号选择框
numComboBox.addActionListener(new ActionListener() {
publicvoid actionPerformed(ActionEvent e) {
14页
酒店管理系统设计
int rowCount = rightTable.getRowCount(); // 获得已开台数 if (rowCount == 0) // 没有开台
return; // 不执行任何操作
Object selectedDeskNum = numComboBox.getSelectedItem();
// 获得“台号”选择框中的选中项
int needSelectedRow = -1; // 默认选中的台号未开台 for (int row = 0; row < rowCount; row++) { // 查看选中的
台号是否已经开台
if (selectedDeskNum.equals(rightTable.getValueAt(row,
1))) { // 已经开台
needSelectedRow = row; // 保存其在“开台列表” 中
的所在行
}
if (needSelectedRow == -1) { // 选中的台号尚未开台,即将
}
break; // 跳出循环
要开台
rightTable.clearSelection(); // 取消选择“开台列表”
中的选中行
leftTableDataV.removeAllElements(); // 清空“签单列
表”中的所有行
leftTableModel.setDataVector(leftTableDataV,
leftTableColumnV); // 刷新“签单列表”表格模
型的数据
} else { // 选中的台号已经开台,即将要添加消费项目
rightTable.setRowSelectionInterval(needSelectedRow);// 在“开台列
表”中选中该台号
leftTableDataV.removeAllElements(); // 清空“签单列
15页