public boolean validate(UserDTO dto) {
  boolean b = false;
  conn = GetConnection.getConnection();
  try {
   ps = conn
     .prepareStatement("select id from t_user where username=? and pwd=? and sex=?");
   ps.setString(1, dto.getUsername());
   ps.setString(2, dto.getPwd());
   ps.setString(3, dto.getSex());
   rs = ps.executeQuery();   if (rs.next()) {    b = true;
   }  } catch (SQLException e) {
   
   e.printStackTrace();
  } finally {
   GetConnection.closeConnection(ps, conn);  }  return b; }这是判断登录语句     现在我想问下大家的是前面开始声名的b为什么要赋值为false   还有中间的那个if条件判断b=true又是什么意思  最后返回了一个b值应该是true  这又为什么    哪位大神知道给讲解下 
              public List<UserDTO> findAll() {
List<UserDTO> list = new ArrayList<UserDTO>();
conn = GetConnection.getConnection();
try {
ps = conn.prepareStatement(findAll);

rs = ps.executeQuery();
while (rs.next()) {
UserDTO dto = new UserDTO();
dto.setId(rs.getInt("id"));
dto.setUsername(rs.getString("username"));
dto.setPwd(rs.getString("pwd"));
dto.setSex(rs.getString("sex"));
list.add(dto);
}
} catch (SQLException e) {

e.printStackTrace();
} finally {

GetConnection.closeConnection(ps, conn);
}
return list; }这个是查询数据库中表的所有值   因为我对集合不太了解不知道什么时候用集合 所以望哪位指点下
还有就是List<UserDTO> list = new ArrayList<UserDTO>();
这句哪位能给详细解释下 实在不明白  分不多 辛苦各位了 

解决方案 »

  1.   

    当在你数据库里有这个用户 他就变成TRUE返回 然后你页面判断他是否登录成功。如果没有该用户即返回原始的FALSE第二个应该是返回所有用户并输出
      

  2.   

    List<UserDTO> list = new ArrayList<UserDTO>();
    声明了一个LIST 然后存储的单体都是UserDTO类的实例  
      

  3.   

     开始声明为 false 表示用户名不存在,
     当根据传入的参数及用户名和密码查相关记录, 
     如果存在, 则表示用户名和密码正确, if(存在几率){b=true}
     否则用户名不存在或密码错误. 
     最后返回 b , 如果查到数据, b 为true 否则为false。
      

  4.   

    判断登录就有成功和失败!刚进来的时候给一个初值,如果登录成功就给他赋值true.最后返回这个结果b
      

  5.   

    public boolean validate(UserDTO dto) {
      boolean b = false;  // 这里有个属性是因为你的方法返回值为Boolean   
                          //false在这里默认为不满足
      conn = GetConnection.getConnection();
      try {
      ps = conn
    //查询数据
      .prepareStatement("select id from t_user where username=? and pwd=? and sex=?");
    //解析SQL的问号 
     ps.setString(1, dto.getUsername());
      ps.setString(2, dto.getPwd());
      ps.setString(3, dto.getSex());
      rs = ps.executeQuery();
    //如果数据存在就返回true
      if (rs.next()) {  b = true;
      }  } catch (SQLException e) {
        
      e.printStackTrace();  } finally {
      GetConnection.closeConnection(ps, conn);  }
    return b; }第二段代码 应该是查询出所有User 然后放到LIST里返回
    这个集合里放的是你查询出所有的UserDTO对象
      
    List<UserDTO> list = new ArrayList<UserDTO>();
    这个LIST集合里 只可以放入UserDTO这个对象  
      

  6.   

    1:b开始设置为false是因为你的代码没有开始执行查询操作,先假设其为false(表示没有这个用户)
    当if(rs。next){
        b = true;(表示找到这么个用户)
    }
    最后返回   b    就是要判断是否有这么个用户(b还是false的话说明没有这么个用户,b是true的话说明有这么个用户)
    2:当你查询出来的数据条数大于一,而你又想把查出来的数据都取到的话,你就可以将那些数据都装进collection里头去(你可以想象成一天记录对应一个对象)