用mysql数据库中的用户名和密码在GUI上实现登陆的功能
来源:互联网 发布:精英特速读软件 编辑:程序博客网 时间:2024/06/08 05:13
本次实现功能是从mysql数据库中读取用户名(studentName)和密码(loginPwd),在GUI上实现登陆的功能
这是mysql数据库中的相关数据 数据库跟我上次建的数据库是一样的。
数据库代码:
CREATE TABLE `student` (
`studentNo` int(4) NOT NULL COMMENT '学号',
`loginPwd` varchar(20) NOT NULL COMMENT '密码',
`studentName` varchar(50) NOT NULL COMMENT '学生姓名',
`sex` char(2) NOT NULL DEFAULT '男' COMMENT '性别',
`gradeId` int(4) DEFAULT NULL COMMENT '学期编号',
`phone` varchar(50) DEFAULT NULL COMMENT '联系电话',
`address` varchar(255) DEFAULT NULL COMMENT '地址',
`bornDate` datetime DEFAULT NULL COMMENT '出生时间',
`email` varchar(50) DEFAULT NULL COMMENT '邮件账号',
`identityCard` varchar(18) DEFAULT NULL COMMENT '身份证号码',
PRIMARY KEY (`studentNo`),
KEY `FK_student` (`gradeId`),
CONSTRAINT `FK_student` FOREIGN KEY (`gradeId`) REFERENCES `grade` (`gradeID`) ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC
具体图表:
Eclipse中的具体代码:
package task1;
import java.awt.EventQueue;
import java.awt.Frame;
import javax.swing.JOptionPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Test01 extends JFrame {
private JPanelcontentPane;
private JTextFieldtextField;
private JTextFieldtextField_1;
private Stringstr =null;
private Stringpassword =null;
/**
* Launch the application.
*/
public static void main(String[]args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Test01frame =new Test01();
frame.setVisible(true);
}catch (Exceptione) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Test01() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 518, 371);
contentPane =new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabellabel =new JLabel("\u7528\u6237\u540D\uFF1A");
label.setBounds(108, 69, 54, 15);
contentPane.add(label);
textField =new JTextField();
textField.addMouseListener(new MouseAdapter() {
});
textField.setBounds(172, 66, 186, 21);
contentPane.add(textField);
textField.setColumns(10);
JLabellabel_1 =new JLabel("\u5BC6\u7801\uFF1A");
label_1.setBounds(108, 140, 54, 15);
contentPane.add(label_1);
textField_1 =new JTextField();
textField_1.addMouseListener(new MouseAdapter() {
});
textField_1.setBounds(175, 137, 183, 21);
contentPane.add(textField_1);
textField_1.setColumns(10);
JButtonbutton =new JButton("\u767B\u5F55");
button.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvente) {
str =textField.getText();
password =textField_1.getText();
if (login(str,password) ==true) {
System.out.println("登陆成功");
JOptionPane.showMessageDialog(new Frame(),"登陆成功");
}else {
System.out.println("请重新输入");
}
}
});
button.setBounds(108, 224, 93, 23);
contentPane.add(button);
JButtonbutton_1 =new JButton("\u6CE8\u518C");
button_1.setBounds(265, 224, 93, 23);
contentPane.add(button_1);
}
public boolean login(Stringstudentname, Stringloginpwd) {
System.out.println(studentname);
boolean flag =false;
// 加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
}catch (ClassNotFoundExceptione) {
e.printStackTrace();
}
Connectioncon =null;
Statementst =null;
ResultSetrs =null;
try {
// 建立连接
// ?useUnicode=true&characterEncoding=utf8
//jdbc和数据库交互数据的编码自己设置,设置成utf8
con = DriverManager.getConnection(
"jdbc:mysql://127.0.0.1:3306/myschool?useUnicode=true&characterEncoding=utf8","root","123456");
// 执行sql语句
st =con.createStatement();
// 得到结果集
StringBuffersql =new StringBuffer("select * from student where studentname='");
sql.append(studentname).append("' and loginpwd='").append(loginpwd).append("'");
System.out.println(sql);
rs =st.executeQuery(sql.toString());// executeQuery执行查询语句,executeUpdate执行增删改
if (rs.next()) {
flag =true;
}
}catch (SQLExceptione) {
e.printStackTrace();
}finally {
// 关闭
try {
if (rs !=null) {
rs.close();
}
}catch (SQLExceptione) {
e.printStackTrace();
}
try {
if (st !=null) {
st.close();
}
}catch (SQLExceptione) {
e.printStackTrace();
}
try {
if (con !=null) {
con.close();
}
}catch (SQLExceptione) {
e.printStackTrace();
}
}
return flag;
}
}
效果图:
输入用户名:黄蓉
输入密码:123
会有以下效果:
慢慢敲代码,一步一步学会,一点一点懂得,每天都能学到很多新知识。
- 用mysql数据库中的用户名和密码在GUI上实现登陆的功能
- 修改mysql数据库的用户名和密码
- 修改mysql数据库的用户名和密码
- QT实现记录上一次用户名和密码功能
- 为何 as sysdba的方式登陆oracle数据库,随便输入用户名和密码都可以登陆?
- 设置tomcat的登陆用户名和密码
- Cookie操作类 实现记住用户名和密码的功能
- Android 实现记住用户名和密码的功能
- Android 实现记住用户名和密码的功能
- Android 实现记住用户名和密码的功能
- Android 实现记住用户名和密码的功能
- Android 实现记住用户名和密码的功能
- Android 实现记住用户名和密码的功能
- Android 实现记住用户名和密码的功能
- Android 实现记住用户名和密码的功能
- Android 实现记住用户名和密码的功能
- Android 实现记住用户名和密码的功能
- Android 实现记住用户名和密码的功能
- struts2环境搭建和入门程序
- string address
- 算法提高 ADV-76 GDP计算
- Android最常用而又最难用控件—ListView(二)。
- springboot发送邮件
- 用mysql数据库中的用户名和密码在GUI上实现登陆的功能
- python实现约瑟夫环
- 算法提高 ADV-77 统计平均成绩
- 【Spark2.0源码学习】-8.SparkContext与Application介绍
- hdu 6170 Two strings
- 算法提高 ADV-78 最长单词
- Layui的学习思路
- Android Studio插件安装
- 观察者模式