0%

KTV管理系统(JAVA)

查看代码请点击:click me

一、 需求描述

  1. 项目背景:KTV是一个人员密集的场所,逢年过节会出现一些拥堵状况,本系统全过程实现科学的信息化管理,提高了KTV的管理效率和管理质量。根据KTV的需求将以往的人工操作业务变成现在的无对接式的管理模式,大大提高了用户与管理员的可操作性。

    本软件的开发过程采用Eclipse开发工具,以Java作为开发平台,使用Java作为开发语言。使用sql server 数据库进行后台的数据库管理。

  2. 用户:管理员用户和顾客用户。

  3. 业务功能:

    • 管理员功能:对顾客需求信息、寄存信息、点餐信息、订单信息、店面信息、会员信息和员工信息的增删改查;对评论、房间信息的查看;注销账号;注册新的管理员;对系统的维护。

    • 顾客功能:注册;修改密码;注销账号;充值;结账;对需求和评论的增删改查;添加点餐;对订单信息、房间信息、寄存信息、店面信息的查询。

二、项目设计

表2.1 main包中的类说明

类名 属性/方法 描述
Test_ktv_Manager main() 主函数,调出登陆界面

表2.2 util包中的类说明

类名 属性/方法 描述
DBUtil connection(String database) 定义一个连接,并返回连接。
test() 测试数据库是否连接成功。
NumLimit caretUpdate(CareEvent e) 限制只能输入数字。

表2.3 manner包中的类说明

类名 属性/方法 描述
Login static String Username 账号
JLabel jlUsername 账号标签
JLabel jlPwd 密码标签
JLabel jlUserType 用户类别标签
JTextField jtUsername 账号文本框
JPasswordField jtPwd 密码框
JComboBox jcbUserType 用户类别
JButton jbOK 登录按钮
JButton jbCancel 退出按钮
JButton jbRegister 注册按钮
Login() 构造方法
getUsername() 获取账号方法
actionPerformed(ActionEvent e) 监听器方法
Register JTextField jtaUserName 账号文本框
JPasswordField jpfPwd 密码框
JPasswordField jpfIdentify 确认密码框
JTextField jtbalance 存入余额
JLabel jlUserName 账号标签
JLabel jlPwd 密码标签
JLabel jlIdentify 确认密码标签
JLabel jlbalance 余额标签
JButton jbSubmit 提交按钮
JButton jbCancel 返回按钮
Register() 构造方法
actionPerformed(ActionEvent e) 监听器方法

表2.4 实体登陆表

表名 属性 描述
manager managerID 管理员登陆账号
managerPwd 管理员登录密码
users userID 用户登陆账号
userPwd 用户登陆密码

表2.5 实体表

表名 属性 描述
Comment EID 评论序号
Etime 评论时间
Econtent 评论内容
EuserID 评论用户
Customer CID 需求编号
CuserID 需求用户
Ctype 需求类型
Deposit DID 寄存编号
Deposit 寄存柜号
Dtelephone 寄存电话
DuserID 寄存用户
Food FID 点餐编号
Fproduce 食品生产日期
Fprice 食品价格
Fname 食品名称
Famount 食品数量
FuserID 点餐用户
Orders OID 订单编号
Omoney 订单金额
OuserID 所属用户
Room RID 房间编号
Rprice 房间金额
Rtype 房间类型
Store SID 店面id
Scontact 联系方式
Sposition 地理位置
Sname 店面名称
Vip MID 会员编号
Mtime 办理时间
Mbalance 余额
MuserID 会员id
Worker WID 员工编号
Wname 员工姓名
Wage 员工年龄
Wsex 员工性别

表2.6 manager包中类描述

类名 属性/方法 描述
KTVManager JMenuBar jmb 菜单栏
JMenu jmSystem 系统菜单
JMenu jmAccount 账户菜单
JMenu jmOption 需求管理菜单
JMenu jmDeposit 寄存管理菜单
JMenu jmFood 点餐管理菜单
JMenu jmOrder 订单管理菜单
JMenu jmRoom 房间管理菜单
JMenu jmStore 店面管理菜单
JMenu jmVip 会员管理菜单
JMenu jmWorker 员工管理菜单
JMenu jmComment 评论查看菜单
JMenu jmSafe 安全与维护菜单
JMenuItem jmiReLog 重新登陆菜单项
JMenuItem jmiExit 退出菜单项
JMenuItem jmiDelete 注销用户菜单项
JMenuItem jmiNewManager 添加管理员菜单项
JMenuItem jmiSelectCustomer 查询需求菜单项
JMenuItem jmiSelectDeposit 查询寄存菜单项
JMenuItem jmiSelectFood 查询点餐菜单项
JMenuItem jmiSelectOrder 查询订单菜单项
JMenuItem jmiSelectRoom 查询房间菜单项
JMenuItem jmiSelectStore 查询店面菜单项
JMenuItem jmiSelectVip 查询会员菜单项
JMenuItem jmiSelectWorker 查询员工菜单项
JMenuItem jmiSelectComment 查询评论菜单项
JMenuItem jmiBackup 备份菜单项
JMenuItem jmiRestore 还原菜单项
ImageIcon img 添加图片
JLabel jlimg 添加图片标签
KTVManager() 构造方法
actionPerformed(ActionEvent e) 监听器方法
UserManager JMenuBar jmb 菜单栏
JMenu jmSystem 系统菜单
JMenu jmAccount 账户菜单
JMenu jmOption 需求管理菜单
JMenu jmComment 评论管理菜单
JMenu jmFood 点餐管理菜单
JMenu jmSelect 查询菜单
JMenu jmpay 结账菜单
JMenuItem jmiRelog 重新登陆菜单项
JMenuItem jmiExit 退出菜单项
JMenuItem jmiBalcance 余额菜单项
JMenuItem jmiAltPwd 修改密码菜单项
JMenuItem jmiDelete 注销账户菜单项
JMenuItem jmiCustomerAdd 添加需求菜单项
JMenuItem jmiCustomerSelect 查看评论菜单项
JMenuItem jmiOrder 查询订单菜单项
JMenuItem jmiRoom 房价查询菜单项
JMenuItem jmiDeposit 寄存查询菜单项
JMenuItem jmiStore 门店查询菜单项
JMenuItem jmiPay 付款结账菜单项
ImageIcon img 添加图片
JLabel jlimg 添加图片标签
UserManager() 构造方法
actionPerformed(ActionEvent e) 监听器方法

表2.7 fuction_user包类说明

类名 属性/方法 描述
AltPwd JLabel jlOldPwd 旧密码标签
JLabel jlNewPwd 新密码标签
JLabel jlIdentify 确认密码标签
JPasswordField jpfOldPwd 旧密码框
JPasswordField jpfNewPwd 新密码框
JPasswordField jpfIdentify 确认密码框
JButton jbSubmit 提交按钮
JButton jbCancel 返回按钮
AltPwd() 构造方法
Container cp 获取布局
Connection con 获取连接
PreparedStatement stm 获取命令
ResultSet rs 获取结果集
actionPerformed(ActionEvent e) 设置监听器方法
Balance static double restBalance 静态剩余余额属性
JLabel jlBalance 余额标签
JTextField jtBalance 余额文本框
JButton jbCharge 充值按钮
JButton jbCancel 关闭按钮
Balance() 构造方法
Container cp 获取布局
Connection con 获取连接
PreparedStatement stm 获取命令
ResultSet rs 获取结果集
actionPerformed(ActionEvent e) 设置监听器方法
Charge static double balance 充值金额
JRadioButton jrb50 设置50元单选按钮
JRadioButton jrb100 设置100元单选按钮
JRadioButton jrb500 设置500元单选按钮
JRadioButton jrb1000 设置1000元单选按钮
JButton jbSubmit 设置提交按钮
Jbutton jbCancel 设置返回按钮
Charge(Balance owner) 构造方法
Container cp 获取设置面板
JPanel jp 获取面板
JPanel jp1 获取面板
actionPerformed(ActionEvent e) 设置动作监听器
itemStateChanged(ItemEvent e) 设置事务监听器
CommentAdd JLabel jlCtype 评论标签
JTextArea jtaContent 评论区文本
JButton jbSubmit 提交按钮
JButton jbCancel 返回按钮
Container cp 获取面板
CommentAdd 构造方法
actionPerformed(ActionEvent e) 设置动作监听器
Connection con 获取连接
PreparedStatement stm 获取命令
CommentDelete Jlabel jlCID 删除编号标签
JTextField jtCID 删除编号文本框
JButton jbSubmit 提交按钮
JButton jbCanel 返回按钮
CommentDelete() 构造方法
Container cp 获取面板
actionPerformed(ActionEvent e) 设置监听器方法
Connection con 获取连接
PreparedStatement stm 获取命令
ResultSet rs 获取结果集
actionPerformed(ActionEvent e) 监听器方法
CommentSelect JTable jtComment 设置表格
JButton jbUpdate 修改按钮
JButton jbDelete 删除按钮
JButton jbCancel 返回按钮
DefaultTableModel jTable1Model 表格模型
CommentSelect() 构造方法
Container cp 获取面板
Connection con 获取连接
PreparedStatement stm 获取命令
ResultSet rs 获取结果集
actionPerformed(ActionEvent e) 监听器方法
CommentUpdate JLabel jlCID 评论编号标签
JLabel jlContent 修改标签
JTextField jtCID 修改编号文本框
JTextArea jtaContent 评论内容
JButton jbSubmit 提交按钮
JButton jbCanel 返回按钮
CommentUpdate() 构造方法
Container cp 获取当前面板
Connection con 获取连接
PreparedStatement stm 获取命令
actionPerformed(ActionEvent e) 监听器方法
CustomerAdd JLabel jlCtype 需求类型标签
JComboBox jcbtype 需求类型
JButton jbSubmit 提交按钮
JButton jbCanel 返回按钮
CustomerAdd() 添加需求
Container cp 获取面板
Jpanel jp 设置新面板
actionPerformed(ActionEvent e) 监听器方法
CustomerDelete JLabel jlCID 删除编号标签
JTextField jtCID 删除编号文本框
JButton jbSubmit 提交按钮
JButton jbCanel 返回按钮
actionPerformed(ActionEvent e) 监听器方法
Container cp 获取当前面板
Connection con 获取连接
PreparedStatement stm 获取命令
CustomerSelect JTable jtCustomers 设置表格
JButton jbUpdate 修改按钮
JButton jbDelete 删除按钮
JButton jbCancel 返回按钮
CustomerSelect() 构造方法
Container cp 获取面板
Connection con 获取连接
PreparedStatement stm 获取命令
ResultSet rs 获取结果集
actionPerformed(ActionEvent e) 设置监听器方法
CustomerUpdate JLabel jlCID 输入编号标签
Jlabel jlCtype 修改类型标签
JTextField jtCID 输入编号文本框
JComboBox jcbtype 需求类型
JButton jbSubmit 提交按钮
JButton jbCancel 返回按钮
CustomerUpdate() 构造方法
Container cp 获取面板
Connection con 获取连接
PreparedStatement stm 获取命令
ResultSet rs 获取结果集
Delete Connection con 获取连接
PreparedStatement stm 获取命令
ResultSet rs 获取结果集
Deposit static JTable jtDeposit 设置表格
JButton jbCancel 返回按钮
Deposit() 构造方法
Container cp 获取设置面板
Connection con 获取连接
PreparedStatement stm 获取命令
ResultSet rs 获取结果集
actionPerformed(ActionEvent e) 监听器方法
FoodAdd JLabel jlCtype 点餐内容标签
JLabel jcbChip 薯片标签
JLabel jcbBeer 啤酒标签
JLabel jcbTablets 润喉片标签
JTextField jtChip 薯片数量文本框
JTextField jtBeer 啤酒数量文本框
JTextField jtTablets 润喉片数量文本框
JButton jbSubmit 提交按钮
JButton jbCanel 返回按钮
FoodAdd() 构造方法
Container cp 获取面板
actionPerformed(ActionEvent e) 设置监听器方法
Connection con 获取连接
PreparedStatement stm 获取命令
FoodDelete JLabel jlFID 删除编号标签
JTextField jtFID 删除编号文本域
JButton jbSubmit 提交按钮
JButton jbCanel 返回按钮
FoodDelete() 构造方法
Container cp 获取面板
actionPerformed(ActionEvent e) 设置监听器方法
Connection con 获取连接
PreparedStatement stm 获取命令
ResultSet rs 获取结果集
FoodSelect static JTable jtFood 设置表格
JButton jbUpdate 修改按钮
JButton jbDelete 删除按钮
JButton jbCancel 返回按钮
FoodSelect() 构造方法
actionPerformed(ActionEvent e) 监听器方法
Container cp 获取面板
Connection con 获取连接
PreparedStatement stm 获取命令
ResultSet rs 获取结果集
FoodUpdate JLabel jlCID 食品编号标签
JLabel jlAmount 食品数量标签
JTextField jtCID 食品编号文本框
JTextField jtAmount 食品数量文本框
JButton jbSubmit 提交按钮
JButton jbCanel 返回按钮
FoodUpdate() 构造方法
actionPerformed(ActionEvent e) 监听器方法
Container cp 获取面板
Connection con 获取连接
PreparedStatement stm 获取命令
Order JTable jtCustomers 顾客需求表格
JTable jtFood 订餐表格
JTable jtOrder 订单表格
JButton jbCancel 返回按钮
double Total 消费总额
Order() 构造方法
actionPerformed(ActionEvent e) 监听器方法
Container cp 获取面板
Connection con 获取连接
PreparedStatement stm 获取命令
ResultSet rs 获取结果集
Pay double Total 消费总额
double restbalance 剩余余额
Connection con 获取连接
PreparedStatement stm 获取命令
ResultSet rs 获取结果集
Room static JTable jtRoom 设置表格
JButton jbCancel 返回按钮
Room() 构造方法
actionPerformed(ActionEvent e) 监听器方法
Container cp 获取面板
Connection con 获取连接
PreparedStatement stm 获取命令
Store static JTable jtStore 设置表格
JButton jbCancel 返回按钮
Store() 构造方法
actionPerformed(ActionEvent e) 监听器方法
Container cp 获取面板
Connection con 获取连接
PreparedStatement stm 获取命令

表2.7 fuction_manager包重要类说明

类名 属性/方法 描述
Backup Connection con 获取连接
PreparedStatement stm 获取命令
Restore Connection con 获取连接
PreparedStatement stm 获取命令

三、项目实现

  1. 调出登陆界面

  2. 注册顾客
    (1)若输入非数字会弹出提示框

    (2)如输入正确则注册成功
  3. 注册后登录

  4. 充值

  5. 修改密码

  6. 查询、添加需求

  7. 添加、查看评论

  8. 增加、查询点餐

  9. 查询订单

  10. 查询房间

  11. 门店查询

  12. 登陆管理员

  13. 注册管理员(修改密码方式一样,不做演示)

  14. 对需求,寄存,点餐,订单,店面,会员员工的管理(增删改查,原理和骨科医院,不做演示)

  15. 对房间和评论的查询

  16. 对数据库的备份和还原

  17. 登入顾客管理系统付款

  18. 注销用户后返回登录界面