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

一:连接数据库:##

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);
    }
}
posted @ 2017-05-09 21:58  Moment_Lss  阅读(1919)  评论(0编辑  收藏  举报