模拟用户登录系统
建表sql脚本
create table t_user
(
id bigint auto_increment,
loginName varchar(255),
loginPwd varchar(255),
realName varchar(255),
primary key (id)
);
insert into t_user(loginName,loginPwd,realName) values('zhangsan','123','张三');
insert into t_user(loginName,loginPwd,realName) values('jack','123','杰克');
commit;
select * from t_user;
package com.qzh.jdbc;
import java.sql.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class jdbctest {
public static void main(String[] args) {
Map<String,String > userLoginInfo =initUI();
boolean loginSuccess=login(userLoginInfo);
System.out.println(loginSuccess?"登陆成功!":"登陆失败!");
}
private static boolean login(Map<String, String> userLoginInfo) {
boolean loginSuccess=false;
String loginName=userLoginInfo.get("loginName");
String loginPwd=userLoginInfo.get("loginPwd");
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/bjpowernode","root","333");
String sql="select * from t_user where loginName = ? and loginPwd = ?";
ps=conn.prepareStatement(sql);
ps.setString(1,loginName);
ps.setString(2,loginPwd);
rs=ps.executeQuery();
if(rs.next()){
loginSuccess=true;
}
} catch (Exception e) {
e.printStackTrace();
} finally{
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return loginSuccess;
}
private static Map<String, String> initUI() {
Scanner s=new Scanner(System.in);
System.out.print("用户名:");
String loginName=s.nextLine();
System.out.print("密码:");
String loginPwd=s.nextLine();
Map<String,String> userLoginInfo=new HashMap<>();
userLoginInfo.put("loginName",loginName);
userLoginInfo.put("loginPwd",loginPwd);
return userLoginInfo;
}
}