请问如何解释清楚下面的Java代码?

packagebean;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLExce... package bean;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.*;
import util.*;

public class UserLoginBean {
Connection conn = null;
Statement st = null;
ResultSet rs = null;
ArrayList al = new ArrayList();

public int login(String name,String pwd){
int temp = 0;
conn = DBConn.getConn();
try {
st = conn.createStatement();
rs = st.executeQuery("select * from admin where name='"+name+"'");
if(rs.next()){
String id = rs.getString("id");
String tname = rs.getString("name");
String tpwd = rs.getString("pwd");
String degree = rs.getString("degree");
String popedom = rs.getString("popedom");
if(pwd.equals(tpwd)){
temp = 1;
al.add(id);
al.add(tname);
al.add(tpwd);
al.add(degree);
al.add(popedom);
}else{
temp = 2;
}
}else{
temp = 3;
}
} catch (SQLException e) {
e.printStackTrace();
} finally{
DBConn.close(conn,st,rs);
}
return temp;
}

public ArrayList getArrayLst(){
return al;
}

}
展开
 我来答
绝杀狂龙
2020-05-05 · TA获得超过1913个赞
知道小有建树答主
回答量:1310
采纳率:78%
帮助的人:597万
展开全部
主要实现的是登录验证的过程
首先传入账户名和密码
然后executeQuery查表,就是查和传入的账户名一样的有几条记录

接着if(rs.next())判断(这里有BUG的,因为有可能存在重名的问题,不过这里暂且认为表中名字是唯一的)
如果有查询到的记录,就将表中字段的内容取出来进行赋值
然后temp=1我猜作用应该是标识位,
1标识找到了,也就是账号密码没错
2是找不到,登录密码出错
3表示用户名输错
当密码相同的时候,将其表中字段内容取出来放到arraylist中供后续使用操作

return temp;就是用来返回登录状态的,可以通过判断temp为几知道哪里出错(不过这里只是返回没有做后续处理)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式