1.怎样验证登录成功?
(1)提取当前输入框的数据,将其封装为一个user,拿这个user放进userDao中的login方法去验证,login(con,user)方法就是利用预编译的sql语句载入输入的user的name和password信息,如果能查到就返回非空,进而进入主界面。
userDao的login方法如下
public User login(Connection con,User user) throws Exception{
User resultUser=null;
String sql="select * from t_user where userName=? and password=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, user.getUserName());
pstmt.setString(2, user.getPassWord());
ResultSet rs=pstmt.executeQuery();
if(rs.next()){ //如果能查到,则执行下列语句,导出一个user对象
resultUser=new User();
resultUser.setId(rs.getInt("id"));
resultUser.setUserName("userName");
resultUser.setPassWord("password");
}
return resultUser; //能查到的话,就是返回当前的对象,查不到的话,返回的仍是null
登录验证的详细实现
private void loginActionPerformed(ActionEvent evt) {
String userName=this.userNameTxt.getText();
String password=this.passwordTxt.getText();
//因为返回的数据不能为空,故需要加一个判空处理util
if(StringUtil.isEmpty(userName)){
JOptionPane.showMessageDialog(null, "用户名不能为空");
return;
}
if(StringUtil.isEmpty(password)){
JOptionPane.showMessageDialog(null, "密码不能为空");
return;
}
User user=new User(userName,password);
Connection con=null;
try {
con=dbUtil.getCon();
User currentUser=userDao.login(con, user);
if(currentUser !=null){
dispose(); //销毁当前窗体
new MainFrm().setVisible(true); //进入主界面
//JOptionPane.showMessageDialog(null, "登录成功");
}else{
JOptionPane.showMessageDialog(null, "用户名或者密码错误");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
进入主界面后,利用windowbuilder工具设置菜单组件