简易连接数据库案例,登录系统

本文介绍了一个使用Java和MySQL实现的简单登录系统。该系统通过GUI界面接收用户输入的用户名和密码,然后从数据库中读取数据进行验证。文章详细展示了如何连接数据库、执行SQL查询以及处理登录逻辑。

完成登录功能,根据用户名查询,用户名和密码从数据库中读出,进行验证。

/**
注意你你需要下载MySQL驱动程序
你还需要有数据库
下面有两处是你的数据库的名字,还有你的数据库的密码.输入之后才可正常运行
注意此程序我先建了表,表中内容如下图,第一张图
**/
package data_Base;
import java.awt.*;
import java.sql.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.plaf.synth.SynthSpinnerUI;

public class Entry_data extends JFrame {
	JLabel j1,j2,j3;
	JTextField txt1,txt2;
	JButton button1,button2;
	Container con;
	JPanel p1,p2;
	Connection conn;
	Statement st;
	ResultSet re;
	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		Entry_data frame = new Entry_data();
		frame.setVisible(true);
	}
	public Entry_data() throws ClassNotFoundException, SQLException {
		setBounds(100,100,230,230);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		j1 = new JLabel("用户名");
		j1.setFont(new java.awt.Font("Dialog", 1, 12));  //设置标签字体 1是加粗 0 不加粗  12代表字号
		j2 = new JLabel("  密码  ");
		j2.setFont(new java.awt.Font("Dialog", 1, 12));
		j3 = new JLabel();
		
		
		Handle handle = new Handle();
		button1 = new JButton("登录");
		button2 = new JButton("注册");
		button1.addActionListener(handle);
		
		txt1 = new JTextField(13);
		txt2 = new JTextField(13);
		con = getContentPane();
		con.setLayout(new GridLayout(2, 1));
		p1 = new JPanel();
		p2 = new JPanel();
		
		p1.add(j1);
		p1.add(txt1);
		p1.add(j2);
		p1.add(txt2);
		p1.add(button1);
		p1.add(button2);
		p2.add(j3);
		
		con.add(p1);
		con.add(p2);
		
		Class.forName("com.mysql.jdbc.Driver");	 //加载驱动程序
		conn = DriverManager.getConnection("jdbc:MySQL://localhost:3306/demos","你的数据库名字","你的数据库的密码"); // 连接数据库
		if(conn.isClosed())System.out.println("连接数据库失败");
		st = conn.createStatement();  // 创建语句对象
	}
	class Handle implements ActionListener{
		public void actionPerformed(ActionEvent e) {
			if(e.getSource() == button1) {
				String name = txt1.getText();
				String pa = txt2.getText();
				int flag = 0;
				try {
					re = st.executeQuery("select * from stuDB");  //创建记录集
				} catch (SQLException e2) {
					e2.printStackTrace();
				}
				try {
					while(re.next()) {
						if(name.equals(re.getString("用户名")) && pa.equals(re.getString("密码"))) {
							j3.setText("登陆成功");
							re.close();
							st.close();
							conn.close();
							flag = 1;
							break;
						}
						else if(name.equals(re.getString("用户名")) && !pa.equals(re.getString("密码"))) {
							j3.setText("登录不成功,密码错误");
							flag = 1;
							break;
						}
					}
				} catch (SQLException e1) {
					e1.printStackTrace();
				}
				if(flag == 0) {
					j3.setText("无此用户");
				}
			}
		}
	}
}

这是我的数据库
初始页面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

面向科研的小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值