十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
就从denglu(...)方法开始讲了,这个方法在声明的时候标识了会throws Exception,表示这个方法中的某些代码可能会抛出异常。
创新互联长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为越秀企业提供专业的网站建设、成都网站建设,越秀网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
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来判断是否登录成功(用户名和密码正确)。
首先理解public boolean addBook(Book book )这句话的含义是创建一个大家都能使用的公共方法(public的作用),该方法返回一个布尔类型的值(boolean的作用),该方法的名字是addBooke(调用方法需要名字啊,没名字怎么用它),这个方法需要的参数是一个Book类型的对象book(Book book的作用);
每一个方法都有一个方法签名:方法签名就是方法名和参数列表(在这里就是 addBook(Book book))通过方法签名我们就能正确的找到并执行该方法;
方法名,顾名思义就是方法的名字,一个类中可以有很多相同方法名的方法,就拿addBook来所,是添加书,添加书的渠道很多,可以通过书名添加,也可以通过id添加,只不过执行的逻辑和需要的参数不同;所以一个类中可以有很多的同名方法,那么程序如何区分这些方法呢?那就是通过方法签名的另一个元素——参数列表,在java中称方法名相同,参数列表不同的情况为方法的重载;
这位大哥问的就是参数列表的问题,参数列表中需要的是参数的数据类型,和一个引用来临时在方法中保存用户给的数据;这里Book就是数据类型,book就是一个临时的引用在方法体内可以代表用户给的数据的;这里有需要有栈桢和堆的概念了,在没有这些基础知识的时候我们只要知道,book是一个引用,在方法体中我么可以使用book来操作一个不属于我们的外部对象;
纯手打望采纳;
group是一个线程池,而你的变量booleanstarted是为了记录当前线程是否运行成功,如果运行成功,就会走下一步为booleanstarted赋值为true说明运行成功了,如果运行失败booleanstarted还是false在finnaly中判断started为false也就是线程运行失败,提醒线程池group,线程运行失败