java登录时数据库验证账户密码-mysql

时间:2023-01-11 19:23:44

一:连接数据库:##

package login;
import java.sql.*;
public class conmysql {
String drivername="com.mysql.jdbc.Driver";
String password="zhangyabaio";
Statement stmt;
ResultSet rs;
int insertValue=-1;
Connection con;
public conmysql()throws Exception{
try{
Class.forName(drivername);//加载驱动
con = DriverManager.getConnection("jdbc:mysql://localhost:3307/student","root",password); ;//获取连接
stmt=con.createStatement();//获取statement对象
}catch(SQLException e){
e.printStackTrace();
}
}
public ResultSet executeQuery(String sql) throws Exception{
rs=stmt.executeQuery(sql);
return rs;
}
public int insert(String sql)throws Exception{
insertValue=stmt.executeUpdate(sql);
return insertValue;
}
}

二:创建登录界面:##

package login;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import javax.swing.*;
import sun.security.util.Password;
public class loginformat extends JFrame {
private JLabel lb1,lb2;
private JButton jbn1,jbn2,jbn3;
private JTextField jtx1;
private JPasswordField jpd;
private JPanel jp1,jp2,jp3;
conmysql contest;
String managername,managerpassword;
String outPut="";
public boolean flag=false;
public loginformat() throws SQLException{
lb1=new JLabel("用户:");
lb2=new JLabel("密码:");
jbn1=new JButton("确定");
jbn2=new JButton("取消");
jbn3=new JButton("注册");
jtx1=new JTextField(10);
jpd=new JPasswordField(10);
jp1=new JPanel();
jp2=new JPanel();
jp3=new JPanel();
jbn1.addActionListener(new password_actionAdapter(this));
jp1.add(lb1);
jp1.add(jtx1);
jp2.add(lb2);
jp2.add(jpd);
jp3.add(jbn1);
jp3.add(jbn2);
jp3.add(jbn3);
this.setLayout(new GridLayout(3,1,0,0));
this.add(jp1);
this.add(jp2);
this.add(jp3);
this.setSize(300,300);
this.setLocation(300, 300);
this.setVisible(true);
}
/**
* @param args
* @throws SQLException
*/
public static void main(String[] args) throws SQLException {
// TODO Auto-generated method stub
new loginformat();
}
public void jbn1_actionperformed(ActionEvent e) throws Exception{
String name=jtx1.getText().toString();
String password=jpd.getText().toString();
if(!name.equals("")&&!password.equals("")){
String queryString="select * from user";
try{
contest=new conmysql();
ResultSet resultSet=contest.executeQuery(queryString);
while(resultSet.next()){
managername=resultSet.getString("user_name");
managerpassword=resultSet.getString("useer_p");
if(managername.equals(name)&&managerpassword.equals(password)){
this.flag=true;
this.show(false);
jiemian test=new jiemian();
test.show();
break;
}else{
jtx1.setText("");
jpd.setText("");
}
}
}catch(SQLException q){
System.out.println(q);
}
}else{//都为空显示错误信息
JOptionPane.showMessageDialog(null, "请输入完整信息","登录",JOptionPane.PLAIN_MESSAGE);
}
}
class password_actionAdapter implements java.awt.event.ActionListener{
loginformat adaptee;
public password_actionAdapter(loginformat adaptee){
this.adaptee=adaptee;
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
try{
adaptee.jbn1_actionperformed(e);
}catch(Exception ee){
System.out.println(ee);
}
}
}
}

跳转页面:##

package login;
import java.awt.*;
import javax.swing.*;
public class jiemian extends JFrame {
private JButton bt;
public jiemian(){
bt=new JButton("欢迎");
this.add(bt);
this.setSize(300,300);
this.setVisible(true);
}
}