求高手跟我解释下 下面JAVA代码每句代码的意思

如题所述

就从denglu(...)方法开始讲了,这个方法在声明的时候标识了会throws Exception,表示这个方法中的某些代码可能会抛出异常。
UserDenglu resultUser = null; 构造一个名叫 UserDenglu的类的对象 resultUser,值为null表示没有实例化(只是声明了一个模型,没有在内存中占用位置)。
String sql = ... 这名是定义一个字符串变量,它的值是一个sql语句;语句的意思是: 查询t_denglu表中字段userName值(?为暂留空,后面填)并且password值为(?为暂留空,后面填);
PreparedStatement pstmt = con.prepareStatement(sql); 将sql语句传给con对象(数据库连接对象)的prepareStatement方法得到返回值为 pstmt对象;
pstmt.setString(1, user.getUserName()); 把sql语句中的第一个?参数替换成 user.getUserName()方法的返回值;

pstmt.setString(2, user.getPassword()); 意义与上句类同,替换第二个?参数。
ResultSet rs = pstmt.executeQuery(); 执行数据库查询语句,将查询结果放入rs对象中;
if(rs.next()) 如果rs结果集中还有下一条的话

resultUser = new UserDenglu(); 实例化resultUser对象;
resultUser.setUserName(rs.getString("username"));将数据库结果集中查询到的列名为username的列的值传入 resultUser.setUserName()方法中;
resultUser.setPassword(rs.getString("password"));与上句类同,将password列的值传入到resultUser的setPassword()方法中。
========================================================
这个做的是用户登录功能,该方法中接收一个包含用户输入的用户名和密码的UserDenglu对象,然后用它们来查询数据库中是否有对应用户名和密码对的结果,如果有的话,就登录成功,如果没有,就登录失败。登录失败,该方法返回的是null,如果登录成功,返回的是一个包含数据库中查询出来的用户名和密码的UserDenglu对象。调用这个方法时,可以判断它返回值是否为null来判断是否登录成功(用户名和密码正确)。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-02-24
这是一个叫UserBYdenglu的类。里面有个方法名叫denglu。

很明显,这是用户登录的方法,方法有返回值,返回值为一个UserDenglu类的一个实例。方法有两个参数,一个数据库连接信息Conection,一个当前进行登陆的用户信息UserDenglu。

方法内部,第一行代码声明一个变量表示获取的用户信息,初始为空。

第二行是一个sql语句,根据用户名和密码去找到符合条件的用户

第三行创建一个预处理语句,并把第二行的sql语句字符串传入,表示待会要执行的sql语句就是这个字符串表示的sql语句。

第四行第五行,分别设置sql语句的参数,第二行的sql语句有两个问号,就是2个占位符,那么第四行设置的就是用户名,代替第一个问号,用户名从当前的UserDenglu对象中获取

第五行则是以用户密码取代第二个问号,从当前的UserDenglu对象中获取用户输入的密码。

第六行,开始执行这个sql语句。

第七行,包括整个括号的内容,如果查询出来有结果,那么取第一条满足条件的记录,然后将从数据库中获取的该记录的用户名和密码设置到第一行声明的resultUser中。

最后一行返回resultUser对象,如果没有执行第七行括号里的方法,就是返回null,否则返回一个保存了当前登陆用户的用户名和密码的UserDenglu对象。

希望我的回答能帮助你!
第2个回答  2014-02-24
很明显,这是一个登陆的验证的一段代码,主要是从数据库查数据以验证输入的用户名和密码是否正确:
1、类名为UserBYdenglu;
2、类中的方法为denglu,返回值为UserBYdenglu(登陆信息),参数为数据库连接,和登陆信息的类(主要是传递来用户名和密码);
3、方法中第一行:声明一个空UserBYdenglu的类,作为方法的返回值;
4、方法中第二行:准备sql语句,需要传入的参数为用户名和密码;
5、方法中第三行:创建一个预处理语句,并把第二行的sql语句字符串传入,即要执行的是这个sql语句;
6、方法中的第四、五行:设置第二行sql语句中的两个“?”(“?”即是占位符)的参数,参数为传入方法中的userDengLu的用户名和密码;
7、方法中的第六行:执行sql语句放回结果集rs;
8、接下来几行是读结果集进行处理:
如果查询处理有结果( 即rs.next());然后把结果集的用户名和密码分别set进声明的resultUser;
9、最后一行:返回resultUser对象,如果没有执行第七行括号里的方法,就是返回null,否则返回一个保存了当前登陆用户的用户名和密码的UserDenglu对象。
相似回答