学习日志——2019/07/22

本文介绍了一个酒店房间管理系统的项目实训内容,包括系统功能模块如登入、用户管理和管理员管理等,并详细展示了登入模块的设计与实现过程。

酒店房间管理系统项目实训

根据酒店业务需求确定本系统功的功能:
(1)登入模块:实现登入功能的数据处理。按照登入的角色不同可以登入到不同的功能界面。
(2)用户管理模块:使用用户账号登入,实现房间查询和预订的功能,能够下订单和查询订单。
(3)管理员管理模块:管理员模块可以实现房间信息和用户信息的增删改查。

  • 数据库设计
    建立客户表、房间表、订单表
  • 数据库连接
package index;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import Util.JDBCUtil;

public class ConnectinonDB {
	private ResultSet rs;			//结果集用来存放查询结果
	private Connection conn;		//连接
	private Statement st;			//用来执行对数据库的操作
	public ConnectinonDB() {
		//创建驱动
		conn=JDBCUtil.getConn();
		
		//2.创建用于执行静态sql语句并返回它所生成结果的对象
		try {
			st=conn.createStatement();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
		//3.对数据库进行查询操作
		public void inquery (String sql){
			try {
				rs = st.executeQuery(sql);
			} catch (SQLException e) {
				// TODO: handle exception
				e.printStackTrace();
			}
		}
		public void query(String sql) {
			try {
				st.execute(sql);
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		//4.生成rs属性get方法
		public ResultSet getRS() {
			return rs;
		}
		
		//释放资源
		public void close() {
			JDBCUtil.release(conn, st);
		}
	}


登入模块

由2个类共同完成:Login:完成登入界面的载入功能;
Index:根据用户的身份登入到不同的模块;

  • Login
package index;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.HeadlessException;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import java.util.Date;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.border.LineBorder;
import javax.swing.border.TitledBorder;
import javax.xml.crypto.Data;

public class Login extends JFrame implements ActionListener {
	private JTextField jtpSearch=new JTextField(10);
	private JTextField jtpUser=new JTextField(10);
	private JPasswordField jtpPsw=new JPasswordField(10);
	private JButton jbSearch=new JButton("检索");
	private JButton jbLoad=new JButton("登入");
	private JButton jbRestart=new JButton("重填");
	private JButton jbCancel=new JButton("取消");
	private ConnectinonDB con;
	private ResultSet rs;
	int i=0;
	Login() {
		draw();
	}
	public void draw() {
		//整体
		this.setSize(800,600);
		this.setTitle("酒店房间管理系统");
		Container t=this.getContentPane();
		t.setLayout(new BorderLayout());
		
		JPanel pNorth=new JPanel();
		JPanel pCenter=new JPanel();
		JPanel pEast=new JPanel();
		JPanel pSouth=new JPanel();
		
		t.add(pNorth,BorderLayout.NORTH);
		t.add(pCenter,BorderLayout.CENTER);
		t.add(pEast, BorderLayout.EAST);
		t.add(pSouth, BorderLayout.SOUTH);
		
		pNorth.setBorder(new LineBorder(new Color(81,147,253),2));
		pCenter.setBorder(new TitledBorder("房间信息"));
		pEast.setBorder(new LineBorder(new Color(81,147,253),1));
		pSouth.setBorder(new LineBorder(new Color(81,147,253),2));
		
		//北边
		pNorth.setLayout(new BorderLayout());
		
		JPanel pNorth1 =new JPanel();
		JPanel pNorth2=new JPanel();
		JPanel pNorth3=new JPanel();
		JPanel pNorth4=new JPanel();
		
		pNorth.add(pNorth1,BorderLayout.CENTER);
		pNorth.add(pNorth2,BorderLayout.WEST);
		
		Date now =new Date();
		
		pNorth2.setLayout(new GridLayout(2,1));
		//pNorth2.add(new JLabel("站内收索,欢迎使用!!"));
		pNorth2.add(pNorth3);
		
		pNorth3.setLayout(new FlowLayout(FlowLayout.CENTER));
		//pNorth3.add(jtpSearch);
		//pNorth3.add(jbSearch);
		
		pNorth4.setBackground(new Color(80,113,255));
		pNorth2.setBackground(new Color(80,113,255));
		pNorth3.setBackground(new Color(80,113,255));
		pNorth1.setBackground(new Color(80,113,255));
		
		//东边
		pEast.setLayout(new GridLayout(3, 1));
		
		JPanel pEast1=new JPanel();
		JPanel pEast2=new JPanel();
		JPanel pEast3=new JPanel();
		JPanel pEast4=new JPanel();
		JPanel pEast5=new JPanel();
		JPanel pEast6=new JPanel();
		JPanel pEast7=new JPanel();
		pEast.add(pEast2);
		pEast.add(pEast7);
		pEast.add(pEast1);
		
		pEast1.setLayout(new BorderLayout());
		pEast1.setBorder(new TitledBorder("登入"));
		
		pEast1.add(pEast3,BorderLayout.CENTER);
		pEast1.add(pEast4, BorderLayout.SOUTH);
		
		pEast3.setLayout(new GridLayout(2,1));
		pEast3.add(pEast5);
		pEast3.add(pEast6);
		
		pEast5.setLayout(new FlowLayout(FlowLayout.LEFT));
		pEast6.setLayout(new FlowLayout(FlowLayout.LEFT));
		
		pEast5.add(new JLabel("用户名"));
		pEast5.add(jtpUser);
		pEast6.add(new JLabel("密    码"));
		pEast6.add(jtpPsw);
		
		pEast4.setLayout(new FlowLayout(FlowLayout.CENTER));
		pEast4.add(jbLoad);
		pEast4.add(jbRestart);
		pEast4.add(jbCancel);
		
		pEast2.setLayout(new GridLayout(4,1));
		pEast2.setBorder(new TitledBorder("新闻"));
		JLabel jl=new JLabel("欢迎您");
		jl.setForeground(new Color(81,147,253));
		JLabel jll=new JLabel("度假休闲的好选择");
		jll.setForeground(new Color(81,147,253));
		JLabel jl2=new JLabel("出差工作的好选择");
		jl2.setForeground(new Color(81,147,253));
		JLabel jl3=new JLabel("完善的酒店预订系统,让您预订酒店客房更加轻松快捷");
		jl3.setForeground(new Color(81,147,253));
		pEast2.add(jl);
		pEast2.add(jll);
		pEast2.add(jl2);
		pEast2.add(jl3);
		
		pEast7.setLayout(new GridLayout(4,1));
		JLabel jl71=new JLabel("【温馨提示】");
		JLabel jl72=new JLabel("1.您预订了N间房,请您提供不少于N位的人住客人姓名:");
		JLabel jl73=new JLabel("按照酒店规定:12点前入住需等房");
		JLabel jl74=new JLabel("预订此酒店务必留入住客人的真实姓名。");
		jl71.setForeground(new Color(81,147,253));
		jl72.setForeground(new Color(81,147,253));
		jl73.setForeground(new Color(81,147,253));
		jl74.setForeground(new Color(81,147,253));
		pEast7.add(jl71);
		pEast7.add(jl72);
		pEast7.add(jl73);
		pEast7.add(jl74);
		
		
		//南边
		pSouth.setLayout(new GridLayout(2,1));
		JPanel pSouth1=new JPanel();
		JPanel pSouth2=new JPanel();
		pSouth1.setLayout(new FlowLayout(FlowLayout.CENTER));
		pSouth2.setLayout(new FlowLayout(FlowLayout.CENTER));
		pSouth.add(pSouth1);
		pSouth.add(pSouth2);
		
		JLabel jl5=new JLabel("星集团出品");
		jl5.setForeground(new Color(81,147,253));
		pSouth1.add(jl5);
		
		//中间
		pCenter.setLayout(new BorderLayout());
		JTabbedPane jtp=new JTabbedPane();
		pCenter.add(jtp,BorderLayout.CENTER);
		
		JPanel pCenter1=new JPanel();
		pCenter1.setLayout(new BorderLayout());
		pCenter1.add(new JLabel(new ImageIcon("src/Image/0.jpg")));
		
		JPanel pCenter2=new JPanel();
		pCenter2.setLayout(new BorderLayout());
		pCenter2.add(new JLabel(new ImageIcon("src/Image/03.jpg")));
		
		JPanel pCenter3=new JPanel();
		pCenter3.setLayout(new BorderLayout());
		pCenter3.add(new JLabel(new ImageIcon("src/Image/01.jpg")));
		
		JPanel pCenter4=new JPanel();
		pCenter4.setLayout(new BorderLayout());
		pCenter4.add(new JLabel(new ImageIcon("src/Image/05.jpg")));
		
		jtp.add(pCenter1,"酒店全景");
		jtp.add(pCenter2,"标准间");
		jtp.add(pCenter3,"商务间");
		jtp.add(pCenter4,"豪华间");
		jtp.setForeground(new Color(81,147,253));
		
		jbLoad.addActionListener(this);
		jbCancel.addActionListener(this);
		jbRestart.addActionListener(this);
		
	}
	
	@Override
	public void actionPerformed(ActionEvent arg0) {
		// TODO Auto-generated method stub
		if(arg0.getSource()==jbLoad) {
			con=new ConnectinonDB();
			con.inquery("select * from useinf where userid='"+jtpUser.getText().trim()+"'");
			rs=con.getRS();
			try {
				if(rs.next()) {
					if(rs.getString("password").trim().equals(jtpPsw.getText().trim())) {
						JOptionPane.showMessageDialog(this, "登入成功!","信息",JOptionPane.INFORMATION_MESSAGE);
						Index index=new Index(jtpUser.getText( ).trim());
						
						this.dispose();
					}
					else {
						JOptionPane.showMessageDialog(this, "密码错误,请重新输入!","信息",JOptionPane.INFORMATION_MESSAGE);
						jtpPsw.setText("");
						
					}
				}
				else 
					JOptionPane.showMessageDialog(this, "用户名错误,请重新输入!","信息",JOptionPane.INFORMATION_MESSAGE);
				
			} catch(HeadlessException e){
				e.printStackTrace();
			}catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		else if(arg0.getSource()==jbRestart) {
			jtpPsw.setText("");
			jtpUser.setText("");
		}
		else if(arg0.getSource()==jbCancel) {
			this.dispose();
			con.close();
		}	
	}
	public static void main(String[] args) {
		Login login=new Login();
		login.setVisible(true);
		login.setDefaultCloseOperation(3);
	}
}

运行:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值