首先是创建mysql的账户数据库:
create table t_user
( id bigint auto_increment,
loginname varchar(255),
loginpwd varchar(255),
primary key(id)
);
然后往里面添加我们的数据,也就相当于客户注册用户:
insert into t_user (loginname,loginpwd) values ('shutong','44812525');
接下来是java 实现登陆系统的部分的代码:
package JDBC.login;
import java.sql.*;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
public class Test01 {
public static void main(String[] args) {
Map<String,String> userInfo = initUI();
Boolean loginSuccess = login(userInfo);
System.out.println(loginSuccess?"登陆成功":"账号密码错误");
}
private static Boolean login(Map<String, String> userInfo) {
Connection conn = null;
Statement stmt = null;
ResultSet re = null;
boolean jieguo = false;
try {
ResourceBundle resourceBundle = ResourceBundle.getBundle("db");
String url = resourceBundle.getString("url");
String username = resourceBundle.getString("username");
String password = resourceBundle.getString("password");
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url,username,password);
stmt = conn.createStatement();
String sql = "select * from t_user where loginname='"+userInfo.get("loginName")+"' and loginpwd = '"+userInfo.get("loginPsw")+"'";
re = stmt.executeQuery(sql);
if (re.next()){
jieguo =true;
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return jieguo;
}
private static Map<String, String> initUI() {
System.out.println("欢迎使用账户密码输入系统!!!");
System.out.println("请输入您的账号!");
java.util.Scanner z = new java.util.Scanner(System.in);
String username = z.next();
System.out.println("请输入您的密码!");
java.util.Scanner m = new java.util.Scanner(System.in);
String password = m.next();
Map<String,String> userInfo = new HashMap<String, String>();
userInfo.put("loginName",username);
userInfo.put("loginPsw",password);
return userInfo;
}
}
注意:此系统有sql注入的bug,下次更新